Како прегледати историју пројекта помоћу Гит Лог -а

Како прегледати историју пројекта помоћу Гит Лог -а

Једна од основних услуга коју Гит пружа је историја пројекта. С обзиром да Гит прати све промене датотека направљене у спремишту, може понудити веома моћне функције евидентирања. Можете питати историју пројекта на много различитих начина, а можете извући и приказати различите податке помоћу једне флексибилне команде.





Тхе гит лог команда је огромна, највећа од било које регуларне Гит команде. Његов приручник је дугачак преко 2.500 редова. Срећом, гит лог пружа већину свог најкориснијег понашања из само неколико кључних опција.





Основно евидентирање са подразумеваним понашањем

Подразумевано, гит лог приказује обрнуто-хронолошки списак урезивања. Свако урезивање укључује свој хасх, аутора, датум и поруку урезивања:



Команда користи пејџер (нпр. Мање, више) да прикаже цео излаз, тако да се можете лако кретати по резултатима. Можете да конфигуришете Гит да користи програм по вашем избору, као што је највећи пејџер.

Ево излаза гит лог из спремиште гит изворног кода сама:



commit 670b81a890388c60b7032a4f5b879f2ece8c4558 (HEAD -> master, origin/next,
origin/master, origin/HEAD)
Author: Junio C Hamano
Date: Mon Jun 14 13:23:28 2021 +0900
The second batch
Signed-off-by: Junio C Hamano

Резултат почиње са хасх урезивањем ( 670 ...) након чега следи листа грана које тренутно указују на то урезивање ( ГЛАВА -> господар итд.)

ар зоне апп шта је то

Следећи ред описује аутора овог урезивања, наводећи њихово име и адресу е -поште.





Потпуни датум и време урезивања следе у следећем реду.

Коначно, појављује се цео садржај поруке урезивања. Већином свега осталог што гит лог нуди можете да контролишете помоћу опција командне линије. Постоје две главне врсте опција:





  • Форматирање, које дефинише како Гит приказује свако урезивање.
  • Филтрирање, које дефинише које урезивање гит лог укључује.

Поред опција командне линије, гит лог прихвата аргументе који специфицирају датотеке, урезивања, гране или друге врсте референци. Ово примењује даље филтрирање.

Форматирање Гит Лог Оутпут -а

Једно од најједноставнијих прилагођавања је --једна линија опција која производи врло кратак испис:

git log --oneline

Сваки ред у дневнику сада садржи само скраћени хасх урезивања и предмет поруке урезивања. Ово је одличан начин за преглед недавних обавеза према пројекту:

Нажалост, без другог контекста, ове информације нису увек толико корисне. Можда ће вам дати нејасан осећај за пројекат, али недостају датуми и друге корисне информације о ауторима и датотекама.

Преглед грана грана

Тхе --грапх Ова опција вам омогућава да визуализујете односе између грана. То је врло основно, али може помоћи у распетљавању компликоване историје.

git log --oneline --graph

Повезан: Како створити нову грану у Гиту

Прилагођени прилично излаз

Можете постићи сложеније обликовање ако га детаљно наведете користећи --прилично опција. Синтакса иде од врло једноставне до много сложеније, па за потпуне детаље погледајте приручник .

како извршити гласовни прелазак на тикток
git log --pretty=short

У суштини је исто што и гит лог без датума или потпуне поруке:

git log --pretty=oneline

Је еквивалентно са гит лог --онелине .

git log --pretty=fuller

Укључује много детаља. Чак раздваја аутора и починиоца који, у теорији, могу бити различити људи:

Са формат: варијанти, можете навести низ који садржи било који садржај који желите, укључујући чуваре места који су замењени различитим подацима. Ево неких примера чувара места:

  • урезивање хеша
  • скраћено урезивање хасх -а
  • %до датум аутора
  • %Витх датум аутора, рођак
  • урезивање теме поруке
  • % б урезивање тела поруке
  • %п скраћени родитељски хешеви

Излазу можете додати фиксне знакове и обојити га. Овај пример такође приказује варијацију формата датума:

git log --pretty=format:'%C(auto) %h [%ad] %s' --date=short

Имајте на уму да заграде окружују датум. Без обзира на обликовање које одаберете, ако желите да излаз буде користан у току или за друге облике обраде текста, требали бисте размислити како разграничити сваки дио излаза.

Приказивање разлика у дневнику

Важан детаљ када се гледа историја спремишта су саме разлике. На крају крајева, они представљају оно што се заправо променило у коду! За почетак, можете добити резиме промена поред сваког урезивања које користите --схортстат :

git log --shortstat

Ово додаје линију попут:

1 file changed, 48 insertions(+), 2 deletions(-)

До дна сваког урезивања. Често ћете видети ову врсту сажетка - на пример, на страницама на ГитХубу - и то је користан начин за брзо процењивање обима одређеног урезивања. За детаљније информације можете укључити потпуни излаз закрпе (разлике) помоћу -п застава:

git log -p

Филтрирање Гит Лог Оутпут -а

Без обзира на форматирање које примените, и даље ћете видети комплетан дневник свих урезивања у тренутној грани. Иако их Гит дели на странице, и даље може бити много резултата. Следеће опције вам омогућавају да прилагодите која урезивања записник укључује.

Ограничавање по износу

Ако само желите да исечете резултате да бисте приказали неколико најновијих урезивања, користите -[број] синтакса:

git log -2

Ограничавање према датуму

Да бисте ограничили скуп урезивања на дати период, користите --Од ( --после ) и --све док ( --пре него што ) Опције. Сваки од њих узима датум у формату ИСО 8601. Можете користити било који --Од или --све док самостално или обоје заједно да бисте одредили опсег. Опције --после и --пре него што су синоними.

git log --since='2021-01-01' --until='2021-05-01'

Ограничавање датотеком

Гит дневник се може фокусирати на одређену датотеку, а не на сваку датотеку у вашем спремишту. Ово је одлично јер вам помаже да сазнате како се одређена датотека променила током времена. Једноставно додајте име датотеке на крај ваше гит команде:

git log filename

Видећете само оне урезивања која су утицала назив документа .

Разлике између грана

Можда ћете имати неке јединствене захтеве када прегледате дневник гране. На пример, уместо да видите целу историју, можда бисте само желели да видите шта се променило у тој одређеној грани. Гит лог може помоћи путем реф1..реф2 синтакса. Постоје три мало различита приступа која можете користити:

  1. Погледајте урезивања која су у главној, али не и грани: | _+_ |
  2. Погледајте урезивања која су у грани, али нису главна: | _+_ |
  3. Погледајте урезивања која постоје само у грани или главном: | _+_ |

Разлике између две ознаке

Баш као што можете прегледати историју између грана користећи реф1..реф2 синтаксу, такође можете да видите историју између ознака на исти начин. На крају крајева, и ознаке и гране су врсте референци.

git log --oneline origin/branch..origin/main

Ако припремате белешке о издању за већи пројекат, гит схортлог требало би да буде ваша прва лука. Он производи списак аутора са посвећеним темама поред њих. Можете му проследити референтни опсег да ограничите историју на сличан начин као гит лог:

git log --oneline origin/ main ..origin/ branch

Тхе гит схов цомманд је још разноврснији од гит лог . Може радити са ознакама и другим врстама гит објеката изван историје урезивања. Он дели многе опције са гит лог , али заиста ће вам требати само ако морате да се удубите у детаље нижег нивоа.

Прегледајте прошлост са Гит Лог -ом

Гит лог је компликована команда, али можете имати много користи од њених најосновнијих опција. Прегледање историје спремишта одличан је начин да схватите колико често долази до промена и колико људи их чини. Када добро разумете историју пројекта, бићете у одличној позицији да томе и сами допринесете.

како играти нес игре на вии -у
Објави Објави Твеет Емаил Придружите се тренду друштвеног кодирања и допринесите ГитХуб спремиштима

Желите да вежбате мишиће за кодирање и помогнете пројектима отвореног кода? Ево како да допринесете ГитХуб -у.

Прочитајте следеће
Повезане теме
  • Програмирање
  • ГитХуб
  • Савети за кодирање
О аутору Бобби Јацк(Објављено 58 чланака)

Бобби је ентузијаст технологије који је скоро две деценије радио као програмер софтвера. Одушевљен је играњем игара, ради као уредник рецензија у магазину Свитцх Плаиер, и уроњен је у све аспекте издаваштва на мрежи и веб развоја.

Више од Боббија Јацка

Претплатите се на наш билтен

Придружите се нашем билтену за техничке савете, критике, бесплатне е -књиге и ексклузивне понуде!

Кликните овде да бисте се претплатили