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

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

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

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

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

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

урезивање 670б81а890388ц60б7032а4ф5б879ф2еце8ц4558 (ХЕАД -> мастер, оригин / нект,
порекло / мајстор, порекло / ГЛАВА)
Аутор: Јунио Ц Хамано
Датум: Пон Јун 14 13:23:28 2021 +0900
Друга серија
Потписао: Јунио Ц Хамано

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

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

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

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

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

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

Форматирање излаза Гит дневника

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

гит лог --онелине

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

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

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

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

гит лог --онелине --грапх

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

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

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

гит лог --претти = кратак

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

гит лог --претти = онелине

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

гит лог --претти = пуније

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

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

  • % Х. починити хеш
  • % х скраћено хеширање урезивања
  • % оглас аутор датум
  • % ар аутор датум, сродник
  • % с предати тему поруке
  • % б предати тело поруке
  • % п скраћени матични хешеви

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

гит лог --претти = формат: '% Ц (аутоматски)% х [% ад]% с' --дате = кратак

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

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

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

гит лог --схортстат

Ово додаје ред попут:

Промењена је 1 датотека, 48 уметања (+), 2 брисања (-)

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

гит лог -п

Филтрирање излаза Гит дневника

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

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

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

гит лог -2

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

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

гит лог --синце = "2021-01-01" --унтил = "2021-05-01"

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

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

гит лог име датотеке

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

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

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

  1. Погледајте обавезе које су главне, али не и гране:
    гит лог --онелине порекло / грана..оригин / маин
  2. Погледајте обавезе које су у грани, али нису главне:
    гит лог - порекло једне линије /главни..оригин /грана
  3. Погледајте обавезе које постоје само у огранку или главном:
    гит лог - једно порекло / грана...порекло / главно

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

гит лог --аббрев-цоммит --претти = формат: '% х% ар% с' в2.32.0-рц3..в2.32.0

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

гит схортлог в2.32.0-рц3..в2.32.0

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

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

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

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

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

Прочитајте следеће

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

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

Још од Бобби Јацк-а

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

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

Још један корак…!

Молимо потврдите своју адресу е-поште у е-поруци коју смо вам управо послали.

.