【问题标题】:Steps after automatic merge fails / manual merge自动合并失败/手动合并后的步骤
【发布时间】:2015-11-08 08:56:12
【问题描述】:

所以如果我做一个

git pull origin master

然后自动合并失败

然后我手动合并,从冲突文件中删除 git 符号,并“挑选”我想要的和不想要的。

但是在我进行手动合并之后,下一步应该采取哪些正确的步骤?

我的猜测是:

git add -A
git commit -m "manually merged conflicted files"

是这样吗,还是我应该再采取一步?

【问题讨论】:

    标签: git github git-merge git-pull


    【解决方案1】:

    是的,这是正确的操作顺序

    1. 做一个git pull origin master
    2. 如果没有冲突,跳转到 5
    3. 解决冲突,保持您的/远程更改适用
    4. 使用git add conflicted_file_1 conflicted_file_2 && git commit -m "Resolved merge conflicts"添加并提交冲突文件
    5. 使用git push origin master 在远程更新您的分支

    注意,樱桃采摘有一个different meaning in git terminology

    此外,如果可能,请尝试探索a rebase based flow with feature branches,以使您的历史长期保持清醒。

    【讨论】:

    • 感谢我不明白的是必须(重新)添加已解决的冲突文件
    • 它会以某种方式将冲突的文件排除在外吗?
    • @AlexMills 合并总是会创建一个新的提交,除非要应用的更改可以快速转发(pull = fetch + merge)。万一发生冲突,根本就不会创建合并提交,git 会最大程度地合并文件,然后留给用户解决冲突,添加冲突文件并手动创建合并提交。
    • @AlexMills 如果你在 linux 上,安装gitk(谷歌用于其他开发环境中的工具),然后从你的仓库运行gitk。您将看到分支的提交图,这将有助于可视化
    • @AlexMills 如果有帮助,别忘了接受答案 :)
    猜你喜欢
    • 2014-04-14
    • 1970-01-01
    • 1970-01-01
    • 2014-03-20
    • 1970-01-01
    • 2014-04-22
    • 1970-01-01
    • 1970-01-01
    • 2013-10-26
    相关资源
    最近更新 更多