繁体   English   中英

git diff重命名了针对HEAD的文件

[英]git diff renamed file in index against HEAD

我的存储库中有一个文件。 我使用git mv重命名了该文件。 然后,我进行了一些编辑。 我什么都没做。 因此,当我运行git status时,它将在我的索引中显示为:

renamed: A.txt -> B.txt

我想将B.txt文件中索引的更改与a.txt的HEAD版本进行比较。 我怎样才能做到这一点? 我发现提到了-M选项可以回答一些类似的问题,但是这两个问题都是关于您将一个提交与另一个提交进行区分的情况。 没有针对提交在索引中上演更改。

似乎按我的预期工作。 下面的Console.log。 也许我误会了一些东西。 我还展示了我的git版本。

➜  xg git:(home) ✗ git init
Initialized empty Git repository in ~/xg/.git/
➜  xg git:(master) echo cool > a.txt
➜  xg git:(master) ✗ git add .
➜  xg git:(master) ✗ git commit -m cool
[master (root-commit) 93c4809] cool
 1 file changed, 1 insertion(+)
 create mode 100644 a.txt
➜  xg git:(master) git mv a.txt b.txt
➜  xg git:(master) ✗ ls
b.txt
➜  xg git:(master) ✗ echo beans >> b.txt 
➜  xg git:(master) ✗ git diff
diff --git a/b.txt b/b.txt
index 2b58f89..56b656c 100644
--- a/b.txt
+++ b/b.txt
@@ -1 +1,2 @@
 cool
+beans
➜  xg git:(master) ✗ git --version
git version 1.8.3.4 (Apple Git-47)
➜  xg git:(master) ✗ 

最终提出了一个可行的解决方案。 我在Windows上使用了msys git,这可能相关,也可能不相关,但是我无法理解它仅与git diff一起使用,如另一位海报所述。

git diff -M50 HEAD-[oldpath] [newpath]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM