我和一个同事正在开发一个使用git进行源代码控制的项目。今天下午,我对一个特定文件进行了几次提交MyFile.txt
。我将更改推送到主分支(trunk
),然后我的同事很快合并了他(无关)的更改。这是一个视觉效果:
在我的同事进行合并提交(上面的提交标记为1.0.1834
)之后,我所有的更改都消失了!
我切换回提交(标记为1.0.1833
)以确认我正确地提交了更改。我做到了-MyFile.txt
从那天下午开始就进行了所有更改。但是,如果我切换到同事的合并提交(标记为1.0.1834
),则将MyFile.txt
保持其原始状态,而无需进行任何更改。
我的同事的合并提交(1.0.1834
)没有任何更改-“ Diff”窗口gitk
为空。这是我们GitLab网站上提交的另一种观点:
发生了什么?我的零钱去了哪里?如何防止这种情况将来发生?
如果您的经纪人做了那样的话,那可能发生git merge --ours
。
产生的合并提交将与其先前的提交HEAD相同。
这是我们的合并策略:
合并的结果树始终是当前分支头的树,有效地忽略了所有其他分支的所有更改。它旨在取代侧支的旧开发历史。
请注意,这-Xours
与递归合并策略的选项不同。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句