Git显示原始分支点和当前分支的HEAD之间的文件差异



我已经从master分支了几次提交,然后我向master添加了很多提交,然后如何显示分支的HEAD和我分支的提交之间的文件差异。

当我在github上创建pull请求时,我需要的是相同的diff,但来自命令行和分支。

问题是,当我运行git branch时,我不知道哪个提交是HEAD。

我不知道我需要与什么提交进行比较。我需要从分支获得提交,当我运行git分支时,提交是HEAD。

当您运行git分支时,您需要的是git merge-base来找到最近的公共祖先,也就是"原来是HEAD的提交"。

但要找到差异,您可以使用以下表格:

git diff [--options] <commit>...commit> [--] [<path>...]

此表单用于查看包含第二个,从两者的共同祖先开始。"git diffA…B"相当于"gitdiff$(gitmerge-baseAB)B"省略中的任何一个,其效果与使用HEAD相同相反