1
5
这是我对答案的理解,基于评论:
当您执行REBASE时,当前分支上的提交是“撤消”,然后是“重新应用”,但实际上,它们不是撤消的,它们是“记住的”*,并用新的ID重新应用,例如,如果我查找
正如@jefromi所说,原件仍然存在(reflog中的a和b提交的shas与git日志中的shas不同,后者对应于a'和b')。
同样地,
同样,原始的z、y和x提交仍然存在
所以,我的问题的解决方案是创建一个新的分支
(这似乎奏效了,我不得不重新进行一些相同的合并,但并不太糟糕) 编辑,来自Jefromi: 可能不需要采摘樱桃。您还可以简单地重新创建分支,其中分支位于钢筋之前:
或者,如果您想放弃FeatureB和FeatureC的重新调整位置,返回到它们之前的位置:
最后,请注意,如果您愿意,可以使用reflogs中提供的其他符号-例如,
正如@jefromi对我的问题的评论:
*准确地说,旧的提交对象只剩下在存储库中。它们最终将被删减,因为您不希望回购充满旧的悬而未决的承诺;这将是第一次发生。
|
2
1
如果所有其他失败,您可以从主服务器重新启动
|
3
1
你可以使用
要找到要重新定位的点,可以使用git的reflog和
(
|
charleslcso · 从开源克隆并推送到我的GitHub[重复] 1 年前 |
Itachi · 无法为python项目安装“DAWG”包 1 年前 |
Igor · git重置已删除目录上的头 2 年前 |
Robo · 撤消删除Git中被忽略的文件 2 年前 |
Ali EXE · 如何根据bat中命令的输出设置变量? 2 年前 |
ShortArrow · 如何使用git管理链接源文件? 2 年前 |
Siggi · 使用git移动文件时丢失历史记录 2 年前 |