【发布时间】:2016-02-11 21:42:19
【问题描述】:
我做了什么: 我分离了我的工作分支 MOODLE_27_STABLE 的负责人。然后我创建了一个名为 patterns new 的新分支,使用
检查分离的头部状态checkout -b patterns_new
然后我在 10 月 20 日更改了文件 db/upgrade.php: Link to this commit, I call it A
然后,2 次提交后突然这些更改在 upgrade.php 中消失了。但是提交并没有提到 db/upgrade.php 甚至被修改了。
在随后的第一次提交之后,db/upgrade.php 仍然没有改变 Link to that commit, B
然后在下一次提交之后,db/upgrade.php 文件突然被旧提交覆盖。 [链接到该提交,C][3]
您可以在提交 C 中看到,查看差异没有任何改变。但是在历史记录的这一点上浏览存储库时,提交 A 被较旧的提交覆盖。 (在第 793 行附近,提交 A 中的添加不再存在) [链接到历史上那个时候的 db/upgrade.php][4]
我用 patterns_new 分支完全替换 MOODLE_27_STABLE 所做的事情(基于 MOODLE_27_STABLE 的分离头后来是:
git checkout patterns_new
git merge -s ours MOODLE_27_STABLE
git checkout MOODLE_27_STABLE
git merge patterns_new
(基于以下教程[用另一个分支完全替换分支][5])
我现在确实担心,这可能不是唯一的提交,它已被覆盖。为什么会发生这种情况,我如何保证 pattern_new 中的所有提交都被“恢复”了?我应该重新挑选它们吗?
(我不得不删除链接 3 到 5,因为由于 stackoverflow 规则“您需要至少 10 个声望才能发布超过 2 个链接),所以我不允许发布更多内容)
【问题讨论】: