linux - 用于查看文件完整历史记录的 Gui 工具,包括移动或重命名的文件

标签 linux git version-control revision-history

<分区>

Linux 上是否有 git 的 GUI 工具可以显示特定文件的历史记录,包括提交和实际差异/更改?文件的完整历史记录,包括重命名/移动之前的历史记录。

如果否,如果我知道重命名/移动之前的文件路径/名称,有什么方法可以查看此历史记录?

如果没有,有没有办法在没有 GUI 工具的情况下做到这一点?

到目前为止,我已经尝试使用 gitk --follow <file-path>但这并没有显示每个提交,也没有显示重命名/移动之前的差异。

最佳答案

除了 --follow 之外,gitk 接受与 git log 相同的选项,所以你可以探索 -C -M 选项影响 Git 用于检测重命名/复制的启发式方法。

关于以下问题,

  1. 只需使用 git log --follow [-C[n]] [-M[n]] -- path/to/file

  2. 可以手动生成此差异:

     $ 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/

相关文章:

php - 从 C++ 程序调用 PHP 脚本

python - gobject 的 pydev 问题

git - 如何创建远程 Git 存储库?

Git 克隆远程仓库的特定版本

eclipse - 源代码管理应跟踪 eclipse 工作区的哪些信息(文件)

两个本地存储库之间的git推送错误

linux - 在单核上运行 Meteor 应用程序

linux - Makefile 匹配规则基于其他文件中的变量

php - 通过 HTTPS 使用具有私有(private) GitHub 存储库的 Composer

eclipse - svn:将更改从分支合并到工作副本而不更新主干