如何在两个不同的本地分支之间调用git diff以比较同一文件?

43

有没有方法可以检查当前分支的工作目录与特定文件在另一分支的工作目录之间的差异?例如,如果我正在A分支上处理文件1,我想比较文件1在B分支上的差异。


2
可能是重复的问题:如何比较两个不同分支中的文件? - faintsignal
3个回答

73

使用git diff branch branch文件名语法:

git diff branchA branchB -- file.cs

将您的两个分支名称放在一起,如果需要可以使用-- filename选项来指定一个文件!祝你好运,如果有问题请告诉我。


7
我认为你不需要 -- 部分,可以用这种方式比较多个文件或目录。如果什么都不传递,则显示整个分支的差异。git diff branchA branchB - 整个仓库分支之间的差异 git diff branchA branchB file.cs - 针对一个文件的差异 git diff branchA branchB some/path/in/rep some/other/path - 比较两个目录 - PRS

24

如果您想比较两个分支中的不同文件,以下内容将会有所帮助。

git diff develop:foo.txt master:bar.txt

这很有帮助:我需要比较在Linux源中移动的文件。git diff linux-v4.1.10:sound/soc/davinci/davinci-mcasp.c linux-5.4.y:sound/soc/ti/davinci-mcasp.c解决了问题。 - Robert Calhoun

10
假设您正在一个名为legacy的分支上,并且想要将文件build.gradlemaster分支上的相同版本进行比较: git diff master build.gradle

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接