我说两个分支'主'和'当前'。通常我会在主人身上做一些改变,然后在实力上做一些樱桃。但有时我直接在当前的分支中做了一些提交,忘记了樱桃挑选到主人。现在我想获得当前分支中存在的所有提交ID(哈希)的列表,但是通过任何双向方式从主服务器中丢失
如何从master但在当前分支中获取这些缺失提交的列表?
答案 0 :(得分:0)
你不应该改变一个,樱桃挑选它。樱桃采摘是一种特殊情况,应该很少进行。我不确定我是否了解您的工作流程,但您应该做的是将更改合并到master
,然后将其合并到(或根据您希望树的方式重新定义)current
。 Cherry pick会将引入的diff应用为新提交,因此您无法进行任何跟踪。如果你合并(而不是挑选),以下方法将起作用。
git log master..current
会为您提供可从current
(即 current
)中提交的提交,但会排除可从master
访问的提交(即 in master
)。换句话说,它会向您显示current
中master
中没有的提交。
这是一个例子。
/---B(current)
A
\---C(master)
现在,git log master..current
会给你B
。 git log master..current
会给你C
。
只有正确使用合并,这一切才有效。樱桃采摘打破了这一切。
答案 1 :(得分:0)
这是重复但搜索无法为我找到原件。
您可以使用
git cherry
或
git log --cherry
(或--cherry-mark或--cherry-pick)。
请注意,列出SHA是100%可靠的。任何cherry
命令通常都很好,但可能有误报。