Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/github/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git 如何获取存在于分支1但不存在于分支2的提交列表_Git_Github_Version Control - Fatal编程技术网

Git 如何获取存在于分支1但不存在于分支2的提交列表

Git 如何获取存在于分支1但不存在于分支2的提交列表,git,github,version-control,Git,Github,Version Control,我说有两个分支“主”和“当前”。通常我会在master中做一些更改,然后在Current中进行cherrypick。但有时我直接在当前分支中做了一些承诺,却忘了把樱桃树挑进主目录。现在,我想获得当前分支中存在但通过任何两种方式从主分支中丢失的所有commit idhash的列表 要么他们没有在主人那里被采摘 或者当前分支未合并到主节点中。 如何从当前分支中的master获取这些丢失提交的列表?您不应该在其中一个分支中进行更改并选择它。樱桃采摘是一种例外情况,应该很少采摘。我不确定我是否了解您的工

我说有两个分支“主”和“当前”。通常我会在master中做一些更改,然后在Current中进行cherrypick。但有时我直接在当前分支中做了一些承诺,却忘了把樱桃树挑进主目录。现在,我想获得当前分支中存在但通过任何两种方式从主分支中丢失的所有commit idhash的列表

要么他们没有在主人那里被采摘 或者当前分支未合并到主节点中。
如何从当前分支中的master获取这些丢失提交的列表?

您不应该在其中一个分支中进行更改并选择它。樱桃采摘是一种例外情况,应该很少采摘。我不确定我是否了解您的工作流程,但您应该做的是将您的更改设置为“主控”,然后根据您希望当前树的方式将其合并或重新设置基础。Cherry picking将引入的差异作为新提交应用,因此您无法执行任何跟踪。如果不进行合并,则以下方法将起作用

git log master..current将为您提供可从current(即在current中)访问的提交,但将排除可从master(即在master中)访问的提交。换句话说,它将向您显示当前的提交,而主控中没有这些提交

这里有一个例子

 /---B(current)
A 
 \---C(master)
现在,git log master..current将为您提供B。git log master..current将为您提供C


所有这些只有在正确使用合并时才能起作用。樱桃采摘打破了这一切。

这是一个副本,但搜索无法为我找到原件

你可以用任何一种

吉特樱桃

吉特原木-樱桃

或-樱桃标记或-樱桃拾取


请注意,清单SHAs是100%可靠的。任何cherry命令通常都很好,但可能会有误报。

如果我必须使用现有的工作流,该怎么办。i、 e我必须在当前分支中获得提交,该分支在master中尚未被Cherry拾取。有办法吗?据我所知,吉特·切瑞有选择吗?没有。樱桃采摘完全绕过了DAG。就好像你手动修补了文件,然后再次提交。Git无法为您跟踪历史记录。你为什么要这样做?你受伤只是时间问题。阅读一些上下文。据我所知git cherry有什么选择吗那你为什么不在你的问题中提到这一点呢?看来你已经知道答案了。