Предимството на системата за контрол на версиите е, че записва промените. Тези записи ни позволяват да извличаме данни като ангажименти, откриване на грешки, актуализации. Но цялата тази история ще бъде безполезна, ако не можем да се ориентираме в нея. В този момент се нуждаем от командата git log.
Git log е помощен инструмент за преглед и четене на история на всичко, което се случва с хранилище. Могат да се използват множество опции с git log, за да се направи историята по-конкретна.
Като цяло git log е запис на ангажименти. Git log съдържа следните данни:
Как да излезете от командата git log?
Може да възникне ситуация, да изпълните командата git log и да останете там. Искате да пишете или да се върнете към bash, но не можете. Когато щракнете върху Въведете ключ, той ще ви навигира към по-старата команда до флага за край.
Решението на този проблем е да Натиснете на q (Q за отказ) . Ще ви излезе от ситуацията и ще ви върне към командния ред. Сега можете да изпълнявате всяка от командите.
Основен регистър на Git
Командата Git log е една от най-често срещаните команди на git. Това е най-полезната команда за Git. Всеки път, когато трябва да проверите хронологията, трябва да използвате командата git log. Основната команда git log ще покаже най-новите комити и състоянието на главата. Ще се използва като:
$ git log
Горната команда ще покаже последните ангажименти. Помислете за резултата по-долу:
Горната команда изброява всички скорошни ангажименти. Всеки комит съдържа някакъв уникален sha-id, който се генерира от SHA алгоритъма. Той също така включва дата, час, автор и някои допълнителни подробности.
Можем да извършим някои действия като превъртане, скачане, преместване и излизане от командния ред. За да превъртите в командния ред, натиснете k за придвижване нагоре, j за придвижване надолу, интервала за превъртане надолу с цяла страница, за да превъртите нагоре с една страница и q, за да излезете от командния ред.
<Git Log Oneline
Опцията oneline се използва за показване на изхода като един ангажимент на ред. Той също така показва изхода накратко, като първите седем знака от SHA за ангажиране и съобщението за извършване.
Ще се използва, както следва:
$ git log --oneline
Така че обикновено можем да кажем, че флагът --oneline кара git log да се показва:
- един ангажимент на ред
- първите седем знака на SHA
- съобщението за ангажиране
Помислете за резултата по-долу:
Както можем да видим по-точно от горния изход, всеки ангажимент се дава само в един ред със седемцифрен sha номер и комит съобщение.
Git Log Stat
Командата log показва файловете, които са били променени. Той също така показва броя на редовете и обобщен ред на общите записи, които са били актуализирани.
Като цяло можем да кажем, че опцията stat се използва за показване
jquery това щракване
- модифицираните файлове,
- Броят редове, които са добавени или премахнати
- Ред с обобщение на общия брой променени записи
- Редовете, които са добавени или премахнати.
Ще се използва, както следва:
$ git log --stat
Горната команда ще покаже файловете, които са били променени. Помислете за резултата по-долу:
От горния резултат можем да видим, че всички изброени ангажименти са модификации в хранилището.
Git log P или Patch
Командата git log patch показва файловете, които са били променени. Той също така показва местоположението на добавените, премахнатите и актуализираните линии.
Ще се използва като:
$ git log --patch
Или
$ git log -p
Като цяло можем да кажем, че флагът --patch се използва за показване на:
- Променени файлове
- Местоположението на редовете, които сте добавили или премахнали
- Конкретни промени, които са направени.
Помислете за резултата по-долу:
Горният изход показва модифицираните файлове с местоположението на редовете, които са добавени или премахнати.
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.
По дата и час:
Можем да филтрираме изхода по дата и час. Трябва да минем --след или -преди аргумент за указване на датата. И двата аргумента приемат различни формати за дата. Той ще работи както следва:
$ git log --after='yy-mm-dd'
Горната команда ще покаже всички ангажименти, направени след дадената дата. Помислете за резултата по-долу:
Горната команда изброява всички ангажименти след „2019-11-01“.
Можем също така да предадем приложимия референтен израз като „вчера“, „преди 1 седмица“, „преди 21 дни“ и др. Ще работи като:
git log --after='21 days ago'
Горната команда ще покаже ангажиментите, направени преди 21 дни. Помислете за резултата по-долу:
Можем също така да проследим ангажиментите между две дати. За да проследите ангажиментите, които са създадени между две дати, подайте препратка към изявление --преди и --след датата. Да предположим, че искаме да проследим ангажиментите между „2019-11-01“ и „2019-11-08“. Ще изпълним командата, както следва:
$ git log --after='2019-11-01' --before='2019-11-08 '
Горната команда ще покаже ангажиментите, направени между датите. Помислете за резултата по-долу:
Горният изход показва ангажиментите между дадения период. Можем да използваме --since и --until вместо --after и --before. Защото са синоними, респ.
По автор:
Можем да филтрираме ангажиментите по конкретен потребител. Да предположим, че искаме да изброим ангажиментите, направени само от определен член на екипа. Можем да използваме флаг -author, за да филтрираме ангажиментите по име на автор. Тази команда приема регулярен израз и връща списъка с ангажименти, направени от автори, които отговарят на този модел. Можете да използвате точното име вместо шаблона. Тази команда ще се изпълнява по следния начин:
вечеря срещу вечеря
$ git log --author='Author name'
Горната команда ще покаже всички ангажименти, направени от дадения автор. Помислете за резултата по-долу:
От горния резултат можем да видим, че всички ангажименти от автора Аз съм Dwivedi1 са изброени.
Можем да използваме низ вместо регулярен израз или точно име. Разгледайте следното изявление:
$ git log --author='Stephen'
Горният израз ще покаже всички ангажименти, чийто автор включва името Stephen. Не е необходимо името на автора да съвпада точно; има само посочената фраза.
Както знаем, имейлът на автора също е включен в името на автора, така че можем да използваме имейла на автора като модел или точно търсене. Да предположим, че искаме да проследим ангажиментите от авторите, чиято имейл услуга е google. За целта можем да използваме заместващи карти като „@gmail.com“. Разгледайте следното изявление:
$ git log -author='@gmail.com'
Горната команда ще покаже ангажиментите от автори, както е дадено в шаблона. Помислете за резултата по-долу:
Чрез съобщение за ангажиране:
За да филтрирате ангажиментите по съобщението за комит. Можем да използваме опцията grep и тя ще работи като опция за автор.
Той ще работи както следва:
$ git log --grep=' Commit message.'
Можем да използваме кратката форма на съобщение за ангажиране вместо пълно съобщение. Помислете за резултата по-долу.
Горният изход показва всички ангажименти, които съдържат думата ангажимент в съобщението си към ангажимент.
Има много други налични опции за филтриране, като например можем да филтрираме по име на файл, съдържание и др.