列出“不同的提交”

时间:2014-12-23 14:51:34

标签: git

我搞砸了rebase(有冲突,我解决了他们错误)。 我认为现在最简单的方法是吹树并重新应用上游缺少的补丁(其中少于10个)。

那么,如何获取本地树中存在但在upstream master中不存在的提交列表? (使用format-patch导出)。

$ git remote -v
origin  git@github.com:sam-s/vowpal_wabbit.git (fetch)
origin  git@github.com:sam-s/vowpal_wabbit.git (push)
upstream        git://github.com/JohnLangford/vowpal_wabbit.git (fetch)
upstream        git://github.com/JohnLangford/vowpal_wabbit.git (push)

2 个答案:

答案 0 :(得分:3)

您可以使用cherry工具;

git cherry -v origin/master

将列出当前HEAD中存在但不在master中的所有补丁。它将为{/ 1}}添加一个+补丁,这些补丁在origin / master中不存在,而-补丁存在于master中但在不同的提交下(例如,提交消息已更改或由于变基)。

答案 1 :(得分:2)

要显示local-branch但不在origin/master中的提交:

git log local-branch ^origin/master

origin替换为远程名称(upstream)。

来源(并重复?):Using Git, show all commits that are in one branch, but not the other(s)