首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Git强制合并开发分支到主分支(覆盖所有本地文件)

Git强制合并开发分支到主分支(覆盖所有本地文件)
EN

Stack Overflow用户
提问于 2019-03-25 07:26:17
回答 2查看 1.2K关注 0票数 2

我在主分支中有一个旧的、不同步的项目代码。已删除、添加、重写和彻底编辑了几个文件。我想强制将稳定的最新代码从开发分支合并到master中。我正在尝试强制合并,但仍然会遇到合并冲突。

以下是我遵循的步骤:

代码语言:javascript
复制
➜  project git:(development) git checkout master
➜  project git:(master) git pull
➜  project git:(master) git merge -s recursive -X theirs development

CONFLICT (modify/delete): vendors/popup/magnific-popup.css deleted in HEAD and modified in development. Version development of vendors/popup/magnific-popup.css left in tree.
CONFLICT (modify/delete): vendors/popup/jquery.magnific-popup.min.js deleted in HEAD and modified in development. Version development of vendors/popup/jquery.magnific-popup.min.js left in tree.
CONFLICT (modify/delete): vendors/owl-carousel/assets/animated.css deleted in HEAD and modified in development. Version development of vendors/owl-carousel/assets/animated.css left in tree.

... several similar conflicts

我尝试对我的主分支中的所有文件执行rm

代码语言:javascript
复制
➜  project git:(master) git reset --hard HEAD
➜  project git:(master) rm -rf *
➜  project git:(master) git merge -s recursive -X theirs development

仍然会得到相同的冲突。我做错了什么?

编辑:

这是一张图表,可以更好地了解正在发生的事情。在某种程度上,不相关的历史也被推送了。

EN

回答 2

Stack Overflow用户

发布于 2019-03-25 08:42:43

这只会将master设置为与您的development分支相同-在上次合并development之后提交的任何主分支都将丢失。

git checkout -B master development

票数 2
EN

Stack Overflow用户

发布于 2019-03-25 08:28:02

分支只是一个指针,而master只是另一个分支。如果您还没有合并更改,而dev代表了项目的当前稳定状态,那么可以避免所有冲突的一个选择是:

代码语言:javascript
复制
git branch -m master <new-name>
git branch -m dev master

可能需要调整跟踪关系,这取决于您如何设置遥控器。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55329564

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档