繁体   English   中英

git在两个分支之间来回合并时丢失更改

[英]git lost changes when merging back and forth between two branches

我有两个分支,我们称它们为“发展”和“稳定”。 在大多数情况下,我从开发合并到稳定,但有时我需要朝相反的方向合并。 例如,有人更改了脚本或配置文件,而我想将这些更改添加到我的开发分支中。

大多数时候,合并工作都很好,但是有几次我注意到git试图将我在开发分支中的最新更改恢复为来自稳定分支的旧版本。 为什么会这样? 我与我们的居民git guru交谈,他说来回合并是可能的原因,但他无法解释它是如何发生的。

例如,我使用--no-commit从稳定到开发进行合并。 我正在查看一个文件,它在开发部门中有一个最近的更改,而在开发和稳定方面都有一个较旧的更改。 但是git由于某些原因仍然坚持撤消较新的更改。

从根本上说,为了避免整体问题,同时在development分支上运行

git rebase stable

它将要做的是获取您的development分支的提交堆栈,并在stable分支的最上层回复它们。 这样,您将获得最新的development分支,并避免不必要的merge提交。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM