如果我理解正确,如果我这样做
git diff master devel ./my_file
我得到了分支的两个HEAD之间的差异。但是,如果我在master
中进行了更改并进行了更改,我认为我可以使用
$ git diff --cached master devel ./my_file
但是我收到以下错误:
usage: git diff [<options>] [<commit> [<commit>]] [--] [<path>...]
那么在文件中的分阶段更改和另一个分支中的相应文件之间获取差异的正确方法是什么?
答案 0 :(得分:4)
请尝试以下语法:
git diff --cached devel -- my_file.ext
这应该将my_file.ext
与devel
分支的HEAD与master
中的当前阶段进行比较(假设您在master
分支上运行此命令)
此命令中有很多内容,但请注意--cached
未引用devel
,这是一个阶段概念不适用的提交。相反,--cached
指的是my_file.ext
分隔符后面的文件--
。
此命令对应于manual:
中的以下模式git diff [--options] --cached [<commit>] [--] [<path>…]
此处devel
是提交,my_file.ext
是文件路径。