<分区>
Linux 上是否有 git 的 GUI 工具可以显示特定文件的历史记录,包括提交和实际差异/更改?文件的完整历史记录,包括重命名/移动之前的历史记录。
如果否,如果我知道重命名/移动之前的文件路径/名称,有什么方法可以查看此历史记录?
如果没有,有没有办法在没有 GUI 工具的情况下做到这一点?
到目前为止,我已经尝试使用 gitk --follow <file-path>
但这并没有显示每个提交,也没有显示重命名/移动之前的差异。
<分区>
Linux 上是否有 git 的 GUI 工具可以显示特定文件的历史记录,包括提交和实际差异/更改?文件的完整历史记录,包括重命名/移动之前的历史记录。
如果否,如果我知道重命名/移动之前的文件路径/名称,有什么方法可以查看此历史记录?
如果没有,有没有办法在没有 GUI 工具的情况下做到这一点?
到目前为止,我已经尝试使用 gitk --follow <file-path>
但这并没有显示每个提交,也没有显示重命名/移动之前的差异。
最佳答案
除了 --follow
之外,gitk
接受与 git log
相同的选项,所以你可以探索 -C
和 -M
选项影响 Git 用于检测重命名/复制的启发式方法。
关于以下问题,
只需使用 git log --follow [-C[n]] [-M[n]] -- path/to/file
可以手动生成此差异:
$ git diff oldcommit:an/old/path nwcommit:a/new/path
…可用于区分重命名文件的内容
从记录的“an/old/path”到提交 newcommit
中的“a/new/path”(最后)
在提交 oldcommit
中。
2022-03-17 更新:
gitk
在其上下文菜单中还有一个有用的“显示此行的来源”命令,可以在显示的差异的任何行上 pop 该命令。
通过历史“向下钻取”以找出引入了特定代码的提交是很有用的。
关于linux - 用于查看文件完整历史记录的 Gui 工具,包括移动或重命名的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49335521/