我从master分支X,从master中删除了一些代码Y.当我将X中的代码合并到master时,如何将Y添加回master(因为它没有从X中删除)。
答案 0 :(得分:1)
如果您创建分支,更改master中的代码并合并(至少在此部分中)未更改的分支,则该代码将不会返回。
Git是关于所做的更改(“提交”)。如果您合并了一个已在主服务器更改的位置更改了部件的分支,则会收到通知并暂停合并。否则,更改是合并。
答案 1 :(得分:1)
当你最终运行git checkout master && git merge branch-X
时,Git会:
master
当前提示的合并基础以及名称branch-X
解析的提交; git diff
来比较每个分支的基数;和如果master
- 方面的更改涉及删除某些行Y
,那么这是第3步的输入之一。无法避免将其作为输入之一到第3步。
除非你使用不同的合并策略 1 -merge策略有完全控制权,因此可以修改上述三个步骤中的任何一个或全部,甚至可以消除部分或全部步骤 - 唯一的事情你现在可以做的是为第3步中的灾难做准备:
branch-X
的提示将包含对同一组行的更改。两者都有最大的成功概率,因为无论谁做合并(你或其他人)都会看到呐喊声。但请注意,这些准备步骤可能会在未来某个时间被其他人撤消git merge
。你无能为力。
1 将来实际运行git merge
的人通过git merge -s <strategy-name>
拥有此控制权。然而,就目前和我认为可预见的未来而言,并非神奇的合并策略无论如何都会做你想要的。所以这也没什么帮助。
答案 2 :(得分:-1)
只需运行git merge
,就是这个命令的用途。
它会尝试将Y
和X
的修改结合在一起。