随着优秀 Git扩展 ,你去历史文件中仍然存在的一个点(如果它已被删除,否则只需转到HEAD),切换到 File tree 选项卡,右键单击该文件并选择 File history 。
File tree
File history
默认情况下,它通过重命名跟随文件,并且 Blame 选项卡允许查看给定修订版的名称。
Blame
它有一些小问题,比如表现 fatal: Not a valid object name 在里面 View 单击删除修订时的选项卡,但我可以忍受。 :-)
fatal: Not a valid object name
View
如果您正在使用带有git插件的eclipse,它具有出色的历史比较视图。右键单击该文件,然后选择“与...比较”=> “历史”
查看文件的所有完整历史记录更改的一个很好的属性:
git log --follow -p -- <file>
如果您使用SourceTree可视化您的存储库(它是免费且非常好),您可以右键单击文件并选择 的 记录已选中 强>
显示屏(下方)比gitk更友好,列出的大多数其他选项。不幸的是(此时)没有简单的方法从命令行启动此视图 - SourceTree的CLI目前只打开repos。
我正在寻找的答案不是在这个线程中是看到我为提交而上演的文件中的更改。即
git diff --cached
如果您使用TortoiseGit,您应该能够右键单击该文件并执行 TortoiseGit --> Show Log 。在弹出的窗口中,确保:
TortoiseGit --> Show Log
“ Show Whole Project '选项未被选中。
Show Whole Project
“ All Branches '选项被选中。
All Branches
要显示哪个修订版本和作者上次修改了文件的每一行:
git blame filename
或者如果你想使用强大的blame GUI:
git gui blame filename
git diff -U <filename> 给你一个统一的差异。
git diff -U <filename>
它应该是红色和绿色。如果不是,请运行: git config color.ui auto 第一。
git config color.ui auto
通过阅读并播放后的其他答案摘要:
通常的命令行命令是
git log --follow --all -p dir/file.c
但是你也可以使用gitk(gui)或tig(text-ui)来提供更加人性化的方式来查看它。
gitk --follow --all -p dir/file.c tig --follow --all -p dir/file.c
在debian / ubuntu下,这些可爱工具的安装命令如预期:
sudo apt-get install gitk tig
而我目前正在使用:
alias gdf='gitk --follow --all -p'
所以我可以打字 gdf dir 获取子目录中所有内容的焦点历史记录 dir 。
gdf dir
dir
如果要查看文件的整个历史记录, 包含 上 所有其他 分支使用:
gitk --all <filename>
要么:
gitx -- <path/to/filename>
如果你正在使用 gitx
您可以使用
git log -p filename
让git为每个日志条目生成补丁。
看到
git help log
对于更多选项 - 它实际上可以做很多好事:)为了获得特定提交的差异你可以
git show HEAD
或标识符的任何其他修订。或者使用
gitk
以可视方式浏览更改。
git log --follow -p -- path-to-file
这将显示 的 整个 强> 文件的历史记录(包括重命名以外的历史记录以及每次更改的差异)。
换句话说,如果文件名为 bar 曾经被命名 foo , 然后 git log -p bar (没有 --follow 选项)只会显示文件的历史记录,直到它被重命名为止 - 当它被称为文件时,它不会显示文件的历史记录 foo 。运用 git log --follow -p bar 将显示文件的整个历史记录,包括文件被称为的任何更改 foo 。该 -p 选项确保每次更改都包含差异。
bar
foo
git log -p bar
--follow
git log --follow -p bar
-p
为此,我会使用:
gitk [filename]
或者按照文件名过去重命名
gitk --follow [filename]
如果您希望保持基于文本,则可能需要使用 的 TIG 强> 。
快速安装:
# apt-get install tig
$ brew install tig
用它来查看单个文件的历史记录: tig [filename] 或浏览详细的回购历史记录: tig
tig [filename]
tig
相近 gitk 但是基于文本。支持终端颜色!
的 SmartGit : 强>