Как мога да прегледам историята на промените на отделен файл в Git, като получа пълна информация за това какво е променено?
Стигнах до:
git log -- [filename]
което ми показва историята на предаванията на файла, но как да получа съдържанието на всяка от промените във файла?
Опитвам се да премина от MS SourceSafe и преди това беше просто дясно щракване
→ показване на историята
.
Можете да използвате
git log -p filename
за да позволите на git да генерира кръпките за всеки запис в дневника.
Вижте
git help log
за повече възможности - всъщност може да прави много хубави неща :) За да получите само разликата за конкретен коммит, можете да
git show HEAD
или всяка друга ревизия по идентификатор. Или използвайте
gitk
за да прегледате промените визуално.
В този случай git whatchanged -p filename
също е еквивалентно на git log -p filename
.
Можете също така да видите кога определен ред от кода във файла е бил променен с git blame filename
. Това ще изведе кратък идентификатор на предаването, автор, времева марка и пълен ред код за всеки ред във файла.
Това е много полезно, след като сте открили грешка и искате да разберете кога е била въведена (или кой е бил виновен за нея).
Ако използвате графичния потребителски интерфейс на git (за Windows), в менюто Repository можете да използвате "Visualize master's History". Маркирайте даден commit в горния панел и файл в долния десен ъгъл и ще видите разликата за този commit в долния ляв ъгъл.