代码之家  ›  专栏  ›  技术社区  ›  SushiHangover

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

  •  -1
  • SushiHangover  · 技术社区  · 10 年前

    假设我的内存保留很差,并且有一个repo处于合并冲突的中间,但尚未解决。

    A. git status 会告诉你你 unmerged paths ,但它没有显示 MERGE_HEAD 提交/删除此合并冲突。

    是否有内置 git cmd选项,该选项将显示此信息,而无需手动测试 .git 是一个文件或目录,并遵循子模块目录 cat 这个 合并头(_H) 文件到 git log

    1 回复  |  直到 10 年前
        1
  •  0
  •   Schwern    10 年前

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

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

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

    这说明我正在合并 feature 进入 HEAD . git status 请告诉我哪个分支 头部

    如果你 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
    
    推荐文章