【发布时间】:2013-12-16 15:18:01
【问题描述】:
我有一个仓库,有这些分支:
- 大师
- 变化
- 数据库更改
- 订购
我想将它们合并到 master 分支。因此,更改为 master,然后更改数据库 .... 等等。但是,合并存在问题,因为 master 已经向前移动,而其他分支也在处理。
当它说修复文件时,即选择它们应该如何,我希望他们使用正在合并的分支。
例如,如果我将 Changes 合并到 Master 中,我希望 Git 使用 Changes 文件。合并失败后如何指定?
# git checkout master
# git merge Changes
# ---LOTS of ERRORs here ---
我现在使用:
# git add -A
# git commit -m "Using these resolutions"
或类似的东西:
# git checkout Changes
# git add -A
# git commit -m "Using these resolutions"
# git checkout master
# git merge Changes
【问题讨论】:
-
请注意,这样做实际上会丢弃对
master所做的任何更改的大块 - 这可能会破坏那些没有被丢弃的更改部分。除了在一些非常特殊的情况下,这可能不是最明智的选择——尽管,诚然,“嘿,看,没有合并冲突”在短期内更方便...... -
对不起,我不确定你的意思。这也有什么参考意义?
-
如果您在合并时盲目地忽略
file.c可能在您的主分支上被修改的方式,而只是将其替换为您的开发分支中的file.c,那么您实际上是在扔掉所有在您的主分支上的该文件中所做的更改。根据该代码如何依赖于其他文件中的代码(反之亦然),您将通过盲目丢弃对 master 所做的更改来破坏某些东西...... -
是的,我完全明白这一点。幸运的是,我在分支上工作以进行改进,然后最终将它们合并,大师领先的唯一原因是因为 Visual Studio 在打开和关闭解决方案文件时,它们会发生轻微变化,所以我可以忽略所有这些冲突!归根结底,一次只有大约 2 个更改真正发生冲突!