经过多次搜索,我还没有找到一个令人满意的方法,这个方法很容易用来查看Git中移动文件的完整历史记录,更重要的是在Gitk中查看.使用"git log --follow [filePath]"甚至"gitk --follow [filePath]"会为您提供文件所涉及的提交,但不会显示移动前文件的实际更改历史记录.因此,我提出了一个原始但简单的解决方案.
此过程将允许您在移动之前查看文件的历史记录.如果有多个移动,则可以重复上述过程.
如果有任何更好的解决方案可以解决这个问题,特别是如果有办法将这些步骤结合起来显示移动的完整历史记录,我们将非常感激.
Wil*_*uta 11
如果你想看到在每个所做的更改提交即使该文件已被重命名,你可以使用选项-p中git log:
git log -p --follow [file/with/path]
Run Code Online (Sandbox Code Playgroud)
这是一个 bash 函数,它应该向您显示文件(使用 gitk)的所有化身的历史记录……如果读者需要另一个 shell,我会将其作为练习留给读者:
# bash
gitk_follow () {
while (( "$#" )); do
git log --oneline --name-status --follow $1;
shift;
done | perl -ne 'if( s{^(?:[ACDMRTUXB]|R\d+)\s+}{} ) { s{\s+}{\n}g; print; }' | sort -u
}
# used as:
gitk $(gitk_follow some_file)
Run Code Online (Sandbox Code Playgroud)
更新:
改为使用 perl 是因为我没有足够关注上一个版本中 git log 的输出。
| 归档时间: |
|
| 查看次数: |
2917 次 |
| 最近记录: |