git – 检查分支是否已合并为主分支但尚未恢复

我想创建一个工具,列出已合并到分支(例如master)的功能分支的名称,但不包括其合并已被还原的分支.

例如:

   /--*--*--*--\                           feature
  /             \
------*--*-------*--*--*--*-------------*  master
                 ^     ^
                 |     | git revert -m1 abc1 (#abc2)
                 |       
                 | git merge --no-ff feature (#abc1)

我知道git branch –contains功能将返回master,我理解为什么,但我想知道是否有一种简单的方法来排除已经被恢复的分支.

如果没有,最佳解决方案是什么?比较差异?

最佳答案 首先,从“
How can I know in git if a branch has been already merged into master?”,您可以检查您的功能分支是否是git分支的一部分–merged或检查git merge-base以查找合并的提交.

其次,问题“Telling if a Git commit is a Merge/Revert commit”确实警告我们可能很难找到恢复提交,并且只提倡提交消息中的恢复消息样板.

点赞