想象一下下面的历史:

       c---e---g--- feature
      /         \
-a---b---d---f---h--- master

我怎么能找到当提交“c”已合并到主(即,找到合并提交“h”)?


当前回答

Git-get-merge将定位并显示你正在寻找的合并提交:

pip install git-get-merge
git get-merge <SHA-1>

该命令跟随给定提交的子分支,直到发现合并到另一个分支(假设是主分支)。

其他回答

Git-get-merge将定位并显示你正在寻找的合并提交:

pip install git-get-merge
git get-merge <SHA-1>

该命令跟随给定提交的子分支,直到发现合并到另一个分支(假设是主分支)。

图形化的解决方案是在gitk中找到它(使用“SHA1 ID”框),然后沿着提交行直到合并提交。

git log --topo-order

然后在提交之前寻找第一个合并。

我需要这样做,并以某种方式找到了git-when-merged(它实际上引用了这个SO问题,但Michael Haggerty从未在这里添加对他非常出色的Python脚本的引用)。现在我有了。

你可以尝试这样做。这个想法是遍历所有的合并提交,看看是否可以从其中一个提交“c”到:

$ git log --merges --format='%h' master | while read mergecommit; do
  if git log --format='%h' $mergecommit|grep -q $c; then
    echo $mergecommit;
    break
  fi
done