gitk相当于git log - 跟随<文件的完整路径>

nob*_*ody 32 git gitk source-control-explorer

所以我有一个名为one.txt的文件,我多年来一直在master分支上进行修改.gitk one.txt将显示该特定文件的完整历史记录.但是在我更改one.txt => two.txt之后,gitk two.txt在重命名之前没有显示任何更改.

我尝试了gitk --follow two.txt,但只给出了每个提交的注释,但没有给出实际的文件更改信息.

我知道我可以执行git log - 关注two.txt,但是你必须将每个SHA1值gitk给每个被更改的内容.

那么任何提示?

Von*_*onC 28

根据Linux Torvalds的说法,问题是gitk --follow现在的不同git log --follow,--follow主要是黑客攻击:

我敢肯定,我提到这个问题,确切当我张贴的原后续的补丁,它基本上可以归结为:" --follow"是一个总的黑客,并没有使用常规的过滤提交功能,因此,花哨的东西喜欢" --parent"并不能很好地适应它.

IOW,我完全不确定它是否可以修复."这--follow是一个非常根本的非巧妙的事情,而且真的是一个完全黑客.这是一个相当小的黑客 - 如果你不知道更好并查看源代码,你可能会认为它非常适合git.但不是.

现在,有可能我们也可以开始--parent合作--follow,但坦率地说,我不知道如何.因为--follow黑客真的基本归结为:

  • 根本修剪提交(这通常简化了父母身份并删除了无趣的提交)
    • 对于" git log" 中的正常提交的整个列表,使用寻找重命名的魔术特殊黑客进行补丁生成.
  • 如果它是重命名,请更改我们神奇地跟踪的路径,以便我们查看下一个提交,我们将遵循新的(较旧的)路径.
  • 如果补丁是空的,我们强制隐藏提交(在内部,这是" rev->always_show_header = 0;"的东西)

这里的关键是我们在队列结束时完成了所有的魔法,很久之后我们完成了对通常进行父母身份重命名的提交的修剪.

抱歉.我--follow偶尔使用过,但看到"确定,它已经重命名"是一个黑客攻击.如果" gitk --follow <pathname>"正常工作会很好,但这不是我非常关心的事情.

  • 叹气......总是他是git.他应该关心这个>.< (3认同)