2009-11-23 8 views
108

С Subversion я мог бы использовать TortoiseSVN для просмотра истории/журнала файла.Как просмотреть историю файлов в Git?

Как я могу это сделать с Git?

Просто ищите историю записи для определенного файла, а затем возможность сравнивать разные версии.

ответ

133

Используйте git log, чтобы просмотреть историю совершения сделки. Каждый фиксатор имеет связанный спецификатор ревизии, который является хеш-ключом (например, 14b8d0982044b0c49f7a855e396206ee65c0e787 и b410ad4619d296f9d37f0db3d0ff5b9066838b39). Чтобы просмотреть разницу между двумя различными фиксациями, используйте git diff с первыми характерами пересмотра спецификаторов обоего фиксаций, например, так:

# diff between commits 14b8... and b410... 
git diff 14b8..b410 
# only include diff of specified files 
git diff 14b8..b410 path/to/file/a path/to/file/b 

Если вы хотите, чтобы получить обзор по всем различиям, которые произошли от совершить фиксации, используйте git log или git whatchanged с опцией патча:

# include patch displays in the commit history 
git log -p 
git whatchanged -p 
# only get history of those commits that touch specified paths 
git log path/a path/b 
git whatchanged path/c path/d 
+6

Спасибо за подсказку -p, это очень полезно для определения того, какие изменения связаны с небольшим количеством кода. –

82

Похож, вы хотите git diff и/или git log. Также проверьте gitk

gitk path/to/file 
git diff path/to/file 
git log path/to/file 
+24

Спасибо за gitk путь/к/файлу – zzapper

+3

Вот еще один кивок для gitk, который обеспечивает отличный способ, чтобы просмотреть все снимки одного файла в мерзавца репо. – Bitmanic

+0

GitK - золотой мальчик здесь. – Jonathan

26

вы можете также использовать tig для приятного, Ncurses на основе репозитория мерзавца браузера. Для просмотра истории файла:

tig path/to/file 
+3

Не знал, что вы можете сделать это с помощью 'tig'. Отлично. – mrak

10

Многие истории браузеров Git, включая git log (и 'журнала --graph мерзавца'), gitk (в Tcl/Tk, часть Git), QGit (в Qt), tig (интерфейс текстового режима для git, используя ncurses), Giggle (в GTK +), ограничение TortoiseGit и git-cheetah (например, gitk path/to/file).

+1

Можете ли вы указать мне, как установить это в TortoiseGit? –

+0

@ RobertVuković Я знаю, что это старый вопрос ... но см. Мой ответ ниже! – bluevoodoo1

5

Конечно, если вы хотите как можно ближе к TortoiseSVN, вы можете просто использовать TortoiseGit.

32

Мне нравится использовать gitk name_of_file

Это показывает хороший список изменений, которые произошли в файл на каждой фиксации, вместо того чтобы показывать изменения во все файлы. Легче отслеживать то, что произошло.

2

TortoiseGit также предоставляет command line tool, чтобы просмотреть историю файла. Использование PowerShell:

C:\Program` Files\TortoiseGit\bin\TortoiseGitProc.exe /command:log /path:"c:\path\to\your\file.txt" 
15

Мой любимый git log -p <filename>, который даст вам историю всех фиксаций данного файла, а также различия для каждой фиксации.

1

git log --all -- path/to/file должен работать

+0

В моем ответе нет ссылки @ineersa –

 Смежные вопросы

  • Нет связанных вопросов^_^