在Git中的侧分支中查找提交不在主分支中

时间:2014-11-12 20:37:57

标签: git branch

我有主分支和副分支。有时,主分支合并到侧分支,偶尔(通常在另一个合并后很短的时间),侧分支合并回主分支。

M: ---------------------- ...
.      \     \  /   \
S:      ----------------- ...

我现在想要一个日志列出那些尚未合并到M的提交。

我的解决方案想法如下:

  1. 找到最近的(根据图结构 - 它应该是唯一的)提交可从M的尖端到达,也可以从S的尖端到达(即,当S最后合并到M?)时。我们称之为StoM
  2. 找到从S的尖端可到达的最近提交,也可以从M的尖端到达(即,M最后一次合并到S?)。我们称之为MtoS。
  3. 对于StoM..S中的每次提交,请检查它是否在MtoS..M中。如果不是,请将其包含在日志中。
  4. 第一个问题:这会产生合适的结果吗?

    第二个问题:如何在Git中完成?它有效吗?还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

git log S ^M会在S中列出所有提交,但不会列在M中。它与git log M..S完全相同。