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

时间:2014-08-29 14:14:58

标签: git

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

当我在github上创建pull请求时,我需要的是同样的差异,但是从命令行和分支创建。

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

1 个答案:

答案 0 :(得分:1)

  

我没有需要比较的提交。我需要从分支中获取提交,当我运行git branch时,提交是HEAD。

当您运行git branch时,您需要git merge-base找到最新的共同祖先,即“提交是HEAD”。

但要找到差异,你可以使用这种形式:

  

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

     

此表单用于查看包含和第二个分支的分支上的更改   ,从两者的共同祖先开始。 “git diff   A ... B“相当于”git diff $(git-merge-base A B)B“。你可以   省略任何一个,与使用HEAD具有相同的效果   代替。