在 Git 中合并但覆盖更改
Posted
技术标签:
【中文标题】在 Git 中合并但覆盖更改【英文标题】:Merging but overwriting changes in Git 【发布时间】:2012-12-25 21:34:33 【问题描述】:当我将 Git 中的分支合并到 master 时,我经常遇到合并冲突。有没有办法合并一个分支并覆盖当前分支中的东西?
【问题讨论】:
你的意思是像在 SVN 中一样 - 使用他们的? 我在自动选择一侧进行合并方面的经验从来都不是很好......而且,在删除他们之前检查其他人在与您相同的行附近发生了什么变化,这难道不是合并冲突的重点吗?变化? 首先是我在本地创建了分支。它比浏览文件并消除冲突要快 【参考方案1】:将-X ours
参数添加到您的git merge
命令中。
假设您在当地的分支机构工作。然后你想合并master
中的内容:
git merge -X ours master
另一方面,如果您是在master
中并希望将您的本地分支合并到master
中,那么@elhadi 正确地说您应该使用theirs
:
git merge -X theirs somebranch
【讨论】:
@elhadi 我的理解是约翰亨特想要推动他的工作,而不是他们的。 这是一个本地分支是的。例如,我一直在研究 somebranch 并希望合并/替换 somebranch 文件来代替 master 上的文件。【参考方案2】:要覆盖你分支中的东西并接受他们的工作,你应该做
git merge -X theirs remote/branch --> example:origin/master
【讨论】:
--strategy=recursive
在这里添加了什么?以上是关于在 Git 中合并但覆盖更改的主要内容,如果未能解决你的问题,请参考以下文章
如何用 git push 覆盖,覆盖对 git 服务器的更改?