我遇到了以下问题:
在git rebase中,一个自动解析的提交有一个错误,即由于自动解析,在头文件中第二次引入了一个函数声明,编译失败。
我的问题是:是否有可能回到自动解决的提交,手动解决它,然后继续使用rebase,假设我仍然在rebase过程中?
答案 0 :(得分:6)
您应首先完成原始rebase,以便与存储库处于已知状态。然后编辑使用交互式rebase引入错误的提交非常容易。查看要修复的提交的sha1,然后执行
git rebase -i <sha1>^
编辑器将打开包含从HEAD到您要修复的提交的提交。从列表中找到提交(它应该是第一个),替换单词&#34; pick&#34;使用&#34;编辑&#34;,保存并退出编辑器。
现在您可以修复错误,然后执行
git commit -a --amend
git rebase --continue
那就是它!
答案 1 :(得分:0)
尽管重新库内的重新库不起作用,但可以git commit --amend
进行最后一次提交的修改。
如果问题是由于刚好在当前基础被重新提交之前的提交(即最后一次提交)引起的,则可以对其进行修改而不会对重新设置过程产生任何副作用。
所以当我遇到这种情况时,我做了以下事情:
取消当前正在根据其进行的手动修改:
$ git reset HEAD <files being rebased>
将我的补丁保存到最后一次导致问题的提交上:
$ git add <files with compilation fix>
将编译修补程序添加到上一次提交的修改中:
$ git commit --amend
返回当前要重新设置的手动修改:
$ git add <files being rebased>
希望这会有所帮助。