Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/git/25.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何撤消git rebease操作_Git - Fatal编程技术网

如何撤消git rebease操作

如何撤消git rebease操作,git,Git,情况很复杂。 有两个分支,功能和开发 功能分支git日志 * D * E (feature checkout from develop) * H * G * F * E 开发分支git日志 * D * E (feature checkout from develop) * H * G * F * E (1) 在feature do=>git rebease develop 这应该是一个合并操作,rebease更改开发人员的提交信息,git日志如下,标志-表示rebease已更改 * H

情况很复杂。

有两个分支,
功能
开发

功能
分支git日志

* D
* E (feature checkout from develop)
* H
* G
* F
* E
开发
分支git日志

* D
* E (feature checkout from develop)
* H
* G
* F
* E
(1) 在feature do=>
git rebease develop

这应该是一个合并操作,rebease更改开发人员的提交信息,git日志如下,标志
-
表示rebease已更改

* H -
* G -
* F -
* D
* E
(2) 有人连续几天推送
功能
,git日志如下所示

* A
* B
* H -
* G -
* F -
* D
* E
(3) 有一天,功能开发人员向开发分支发出请求

公共关系部的变更承诺:

* A
* B
* H -
* G -
* F -
* D
它应该在下面,因为请更改开发人员的提交H、G、F

* A
* B
* D
我想撤消rebease操作(1)进行合并,但要进行rebease,然后重新执行操作(2)

是否可以修复?????或者干脆接受


这让我无法回顾,因为H、G、F……总计超过100 ~~

很可能您应该恢复到以前的状态(请参见
git reflog
),然后重新应用rebase(当您可以选择提交什么和顺序时,请检查交互式rebase的git rebase-i),年份,由git rebease修复-我很高兴听到:)事实上,git提交中几乎没有[通过一些努力]无法修复的错误。唯一致命的错误是在将更改存储到repo之前,使用git reset将内容完全删除。很明显,你的回购协议副本至少保存在两个独立的地方。