git - Git:成功将master与3.0版合并后master仍然没有得到所有更新
问题描述
在进行更改并将其合并后,我master
调用了一个分支,我撤消了合并并进行了其他更改,然后再次合并它。version-3.0
version-3.0
master
在第二次合并成功完成后,我发现master
仍然不同并且没有从version-3.0
分支获取更新。
再次尝试合并说“已经是最新的”。
解决方案
我撤消了合并并进行了其他更改,然后再次合并。
如果您通过还原更改撤消了合并,则恢复更改的唯一方法是还原该还原。
这是因为恢复的版本是一个新版本,与原始更改没有任何正式关系,在历史上比之前的合并更近,因此具有优先权。
我建议您花一些时间了解三向合并算法的工作原理以及如何选择最近的共同祖先。一旦你这样做就很明显了,但在一篇简短的文章中并不容易描述。您可以通过询问(或任何其他修订对)让 git 向您展示合并基础,并且您可以使用(从版本 3.0 合并到主版本时的“他们的”一侧)和(“我们的” git merge-base master version-3.0
)可视化任一侧的更改列表' 边)——或再次与任何其他两个修订版一起使用。gitk master..version-3.0
gitk version-3.0..master
¹ 好吧,您可以在不需要的合并之前重新基于一个版本并在此基础上再次合并,但这是一种更高级的方法,并不真正适合master
基于它的许多其他分支。
推荐阅读
- database - 如何使用带有 Redshift 的 COPY 命令列出列?
- java - 编程游戏中的 Java 循环
- mongodb - 在 MongoDB Atlas 上将共享主机的 IP 地址列入白名单
- flutter - 小部件内的Flutter FOR循环
- istio - 检查 istio 安装的选项值
- java - Cloud Native Buildpacks/Paketo with Java/Spring Boot:如何配置不同的 JDK 下载 uri(例如无法访问 github.com)
- java - 如何让我的数组以相反的顺序返回?
- java - Appdynamics 代理连接导致 Java 应用程序中的内存泄漏
- php - 从头开始创建站点地图插件
- java - 我们如何使用 JPA 和 Hibernate 设置 Read Uncommitted 隔离级别?