git - 如何让 git 显示对单个重命名文件的更改

标签 git file-rename

如果我这样做

git difftool -y --find-renames master

我得到分支上任何文件与原始版本的差异,所以如果我将“a”重命名为“b”并更改它,我会得到当前“b”和原始“a”之间的差异。但如果我这样做

git difftool -y --find-renames master b

它与/dev/null 进行比较。这很令人困惑。

有什么方法可以让 git diff 达到我的预期吗?

最佳答案

您始终可以明确地进行比较,

$ git diff master:a b

-M(查找重命名)和-C是启发式的,在你的情况下,你知道它是a被明确重命名为 b

如果事先不知道 ab,您可以利用第一个命令首先获取建议列表,然后浏览文件历史记录:

$ git diff --find-renames --name-only master

对每个可疑的重命名调用log --follow:

$ git log --follow <renamed file>

关于git - 如何让 git 显示对单个重命名文件的更改,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20783801/

相关文章:

bash - 使用文本文件作为源重命名文件

c - 为什么 rename() 和 remove() 函数不起作用?

git - 让 Git 日志统计有自己的专栏?

Git:如何将两个标签之间所做的更改 merge 到另一个分支?

linux - 删除多个文件中的备份附录表单文件名(Linux)

linux - 如何使用终端重命名文件

python - 如何在 os.rename 中使用变量

git - 为什么 git format-patch 生成的补丁早于修订范围的时间戳

git - 如何创建分支并推送到服务器

ruby - 使用 Bundler 获取 git 文件时出错