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

git merge命令使用

  •  3
  • Pavel  · 技术社区  · 14 年前

             C - D - E  my_branch
           /    
    A - B -  F - G - K  *master
    

    现在我是主人了。在“git合并我的分支”之后,我在master得到了一些这样的:

    A - B - C - D - F - G - K - E - M  *master
    

    (M-合并提交)

    A - B - F - G - K - M
    

    这很重要,因为在我的分支中,我经常只为自己做出不可编译的提交;我不想把它们推到master中。我要怎么合并?

    2 回复  |  直到 14 年前
        1
  •  3
  •   Robie Basak    14 年前

    我想你要的是一种方式来做出一个单一的承诺 你一次完成了你个人部门的所有工作。注意,这不是git术语中的“合并提交”;它只是一个普通的提交。

    编辑:这里要注意的一点是,这样做意味着git对合并没有任何知识,因此如果您想继续从合并处使用您的个人分支,它会变得很尴尬。不过,对于那些在你被压扁的“合并”之后不再使用的实验分支来说,它是完美的。

    你可以使用 git merge --squash (然后使用 git commit ). 这将为您提供所需的结果:

    A - B - F - G - K - M
    

    我通常先操作我的个人分支(使用 git rebase -i master git merge 把他们带到主人那里。这样我也可以做到:

    A - B - F - G - K - M1 - M2 - M3
    

    哪里 M1 M2 M3

        2
  •  0
  •   mipadi    14 年前

    使用 --squash git merge :它将占用您的分支,将其压缩为单个提交,然后将其合并到中。