分支和主干上的单个提交之间的区别

时间:2015-06-19 13:14:49

标签: git git-diff

我已经看到了有关差异文件的所有问题,但没有一个与我的用例完全匹配。

情况:

a - b - c - d (master)
 \ e (tag) - f - g - h (my_branch)

现在我希望看到一个差异,就像我在h上挑选d一样。

当您使用稳定版本的软件并需要针对主干发送补丁时会发生这种情况。

任何人都知道如何制作这样的差异吗?

2 个答案:

答案 0 :(得分:1)

要查看2次提交之间的区别,只需执行git diff h d

根据评论进行编辑

我能想到的最少的步骤是:

git checkout master
git cherry-pick h --no-commit
git diff --staged
git reset --hard

答案 1 :(得分:0)

我能想出的最好的结果就是你在没有提交的情况下做樱桃选择,然后你就可以看到差异,而不是非常优雅我知道

git cherry-pick -n <commit>    # get your patch but dont commit

然后你可以使用git diff来查看更改,然后如果你真的不想提交它们而是去除它们

git reset    # unstage
git checkout -- application/  # or whatever folder your files are in

这是我最好的尝试,希望它有所帮助