确定repo当前正在合并的提交(MERGE_HEAD)

时间:2016-01-30 05:28:02

标签: git git-merge

让我们假设我的内存保留非常糟糕,而且还有一个尚未解决的合并冲突中的回购。

git status会向您显示您有unmerged paths这一事实,但它没有显示此合并冲突的MERGE_HEAD提交/ sha。

是否有内置的git cmd选项可以显示此选项而无需手动测试.git是否为文件或目录,并遵循子模块dirs cat {{ 1}}文件到MERGE_HEAD

1 个答案:

答案 0 :(得分:0)

AFAIK这个信息可以有三个地方。

首先,冲突标记会告诉你。

diff --cc one
index 1f7391f,a7453f0..0000000
--- a/one
+++ b/one
@@@ -1,1 -1,1 +1,5 @@@
++<<<<<<< HEAD
 +master
++=======
+ feature
++>>>>>>> feature

这告诉我我正在将feature合并到HEADgit status会告诉我HEAD是什么分支。

如果你cat .git/MERGE_MSG它会告诉你你正在合并的分支。

$ cat .git/MERGE_MSG 
Merge branch 'feature'

# Conflicts:
#   one

最后,cat .git/MERGE_HEAD将告诉您正在合并的SHA。这可以转换为git branch --contains的分支名称。

cat .git/MERGE_HEAD | xargs git branch --contains