logo

Git дневник

Предимството на системата за контрол на версиите е, че записва промените. Тези записи ни позволяват да извличаме данни като ангажименти, откриване на грешки, актуализации. Но цялата тази история ще бъде безполезна, ако не можем да се ориентираме в нея. В този момент се нуждаем от командата git log.

Git log е помощен инструмент за преглед и четене на история на всичко, което се случва с хранилище. Могат да се използват множество опции с git log, за да се направи историята по-конкретна.

Като цяло git log е запис на ангажименти. Git log съдържа следните данни:

    Хеш за ангажиране, което представлява данни за контролна сума от 40 символа, генерирани от алгоритъм SHA (Secure Hash Algorithm). Това е уникален номер.Метаданни за ангажиране на автора: Информацията за авторите като име и имейл на автора.Метаданни за дата на ангажиране: Това е клеймо за дата и време за времето на ангажимента.Задължително заглавие/съобщение: Това е прегледът на ангажимента, даден в съобщението за ангажимент.

Как да излезете от командата git log?

Може да възникне ситуация, да изпълните командата git log и да останете там. Искате да пишете или да се върнете към bash, но не можете. Когато щракнете върху Въведете ключ, той ще ви навигира към по-старата команда до флага за край.

Решението на този проблем е да Натиснете на q (Q за отказ) . Ще ви излезе от ситуацията и ще ви върне към командния ред. Сега можете да изпълнявате всяка от командите.

Основен регистър на Git

Командата Git log е една от най-често срещаните команди на git. Това е най-полезната команда за Git. Всеки път, когато трябва да проверите хронологията, трябва да използвате командата git log. Основната команда git log ще покаже най-новите комити и състоянието на главата. Ще се използва като:

 $ git log 

Горната команда ще покаже последните ангажименти. Помислете за резултата по-долу:

Git дневник

Горната команда изброява всички скорошни ангажименти. Всеки комит съдържа някакъв уникален sha-id, който се генерира от SHA алгоритъма. Той също така включва дата, час, автор и някои допълнителни подробности.

Можем да извършим някои действия като превъртане, скачане, преместване и излизане от командния ред. За да превъртите в командния ред, натиснете k за придвижване нагоре, j за придвижване надолу, интервала за превъртане надолу с цяла страница, за да превъртите нагоре с една страница и q, за да излезете от командния ред.

<

Git Log Oneline

Опцията oneline се използва за показване на изхода като един ангажимент на ред. Той също така показва изхода накратко, като първите седем знака от SHA за ангажиране и съобщението за извършване.

Ще се използва, както следва:

 $ git log --oneline 

Така че обикновено можем да кажем, че флагът --oneline кара git log да се показва:

  • един ангажимент на ред
  • първите седем знака на SHA
  • съобщението за ангажиране

Помислете за резултата по-долу:

Git log 1

Както можем да видим по-точно от горния изход, всеки ангажимент се дава само в един ред със седемцифрен sha номер и комит съобщение.

Git Log Stat

Командата log показва файловете, които са били променени. Той също така показва броя на редовете и обобщен ред на общите записи, които са били актуализирани.

Като цяло можем да кажем, че опцията stat се използва за показване

jquery това щракване
  • модифицираните файлове,
  • Броят редове, които са добавени или премахнати
  • Ред с обобщение на общия брой променени записи
  • Редовете, които са добавени или премахнати.

Ще се използва, както следва:

 $ git log --stat 

Горната команда ще покаже файловете, които са били променени. Помислете за резултата по-долу:

Git log 2

От горния резултат можем да видим, че всички изброени ангажименти са модификации в хранилището.

Git log P или Patch

Командата git log patch показва файловете, които са били променени. Той също така показва местоположението на добавените, премахнатите и актуализираните линии.

Ще се използва като:

 $ git log --patch 

Или

 $ git log -p 

Като цяло можем да кажем, че флагът --patch се използва за показване на:

  • Променени файлове
  • Местоположението на редовете, които сте добавили или премахнали
  • Конкретни промени, които са направени.

Помислете за резултата по-долу:

Git log 3

Горният изход показва модифицираните файлове с местоположението на редовете, които са добавени или премахнати.


Git Log Graph

Командата Git log позволява преглед на вашия git log като графика. За да изброите ангажиментите под формата на графика, изпълнете командата git log с опцията --graph. Той ще работи както следва:

 $ git log --graph 

За да направите изхода по-специфичен, можете да комбинирате тази команда с опцията --oneline. Той ще функционира по следния начин:

 $ git log --graph --oneline 

Филтриране на историята на ангажиментите

Можем да филтрираме изхода според нашите нужди. Това е уникална функция на Git. Можем да приложим много филтри като сума, дата, автор и др. Всеки филтър има своите спецификации. Те могат да се използват за изпълнение на някои навигационни операции върху изхода.

Нека разберем подробно всеки от тези филтри.

По сума:

Можем да ограничим броя на изходните ангажименти, като използваме командата git log. Това е най-специфичната команда. Тази команда ще премахне сложността, ако се интересувате от по-малко ангажименти.

Изтегляне на xvideoservicethief ubuntu 14.04

За да ограничите изхода на git log, включително опцията -. Ако искаме само последните три комита, тогава можем да предадем аргумента -3 в командата git log. Помислете за резултата по-долу:

Git log 4

Както можем да видим от горния изход, можем да ограничим изхода на git log.

По дата и час:

Можем да филтрираме изхода по дата и час. Трябва да минем --след или -преди аргумент за указване на датата. И двата аргумента приемат различни формати за дата. Той ще работи както следва:

 $ git log --after=&apos;yy-mm-dd&apos; 

Горната команда ще покаже всички ангажименти, направени след дадената дата. Помислете за резултата по-долу:

Git log 5

Горната команда изброява всички ангажименти след „2019-11-01“.

Можем също така да предадем приложимия референтен израз като „вчера“, „преди 1 седмица“, „преди 21 дни“ и др. Ще работи като:

 git log --after=&apos;21 days ago&apos; 

Горната команда ще покаже ангажиментите, направени преди 21 дни. Помислете за резултата по-долу:

Git log 6

Можем също така да проследим ангажиментите между две дати. За да проследите ангажиментите, които са създадени между две дати, подайте препратка към изявление --преди и --след датата. Да предположим, че искаме да проследим ангажиментите между „2019-11-01“ и „2019-11-08“. Ще изпълним командата, както следва:

 $ git log --after=&apos;2019-11-01&apos; --before=&apos;2019-11-08 &apos; 

Горната команда ще покаже ангажиментите, направени между датите. Помислете за резултата по-долу:

Git log 7

Горният изход показва ангажиментите между дадения период. Можем да използваме --since и --until вместо --after и --before. Защото са синоними, респ.

По автор:

Можем да филтрираме ангажиментите по конкретен потребител. Да предположим, че искаме да изброим ангажиментите, направени само от определен член на екипа. Можем да използваме флаг -author, за да филтрираме ангажиментите по име на автор. Тази команда приема регулярен израз и връща списъка с ангажименти, направени от автори, които отговарят на този модел. Можете да използвате точното име вместо шаблона. Тази команда ще се изпълнява по следния начин:

вечеря срещу вечеря
 $ git log --author=&apos;Author name&apos; 

Горната команда ще покаже всички ангажименти, направени от дадения автор. Помислете за резултата по-долу:

Git log 8

От горния резултат можем да видим, че всички ангажименти от автора Аз съм Dwivedi1 са изброени.

Можем да използваме низ вместо регулярен израз или точно име. Разгледайте следното изявление:

 $ git log --author=&apos;Stephen&apos; 

Горният израз ще покаже всички ангажименти, чийто автор включва името Stephen. Не е необходимо името на автора да съвпада точно; има само посочената фраза.

Както знаем, имейлът на автора също е включен в името на автора, така че можем да използваме имейла на автора като модел или точно търсене. Да предположим, че искаме да проследим ангажиментите от авторите, чиято имейл услуга е google. За целта можем да използваме заместващи карти като „@gmail.com“. Разгледайте следното изявление:

 $ git log -author=&apos;@gmail.com&apos; 

Горната команда ще покаже ангажиментите от автори, както е дадено в шаблона. Помислете за резултата по-долу:

Git log 9

Чрез съобщение за ангажиране:

За да филтрирате ангажиментите по съобщението за комит. Можем да използваме опцията grep и тя ще работи като опция за автор.

Той ще работи както следва:

 $ git log --grep=&apos; Commit message.&apos; 

Можем да използваме кратката форма на съобщение за ангажиране вместо пълно съобщение. Помислете за резултата по-долу.

Git log 10

Горният изход показва всички ангажименти, които съдържат думата ангажимент в съобщението си към ангажимент.

Има много други налични опции за филтриране, като например можем да филтрираме по име на файл, съдържание и др.