7

我遇到了以下问题:

在 git rebase 期间,自动解析的提交之一出现错误,即作为自动解析的结果,在头文件中第二次引入了函数声明并且编译失败。

我的问题是:是否有可能回到自动解决的提交,手动解决它,然后继续 rebase,假设我仍在 rebase 过程中?

4

2 回答 2

9

您应该首先完成原始变基,以便您的存储库处于已知状态。然后使用交互式变基编辑引入错误的提交非常容易。检查要修复的提交的 sha1,然后执行

git rebase -i <sha1>^

将打开一个编辑器,其中包含从 HEAD 到您要修复的提交的提交。从列表中找到提交(应该是第一个),将“pick”一词替换为“edit”,保存并退出编辑器。

现在您可以修复错误,然后执行

git commit -a --amend
git rebase --continue

就是这样!

于 2013-01-12T16:31:31.087 回答
1

尽管变基中的变基不起作用,但可以到git commit --amend最后提交的修改。
如果问题是由在当前被 rebase 之前的提交引起的(即最后一次提交),您可以修改它而不会对 rebase 过程产生任何副作用。

所以当我遇到这种情况时,我做了以下事情:

  1. 取消当前正在重新设置的手动修改:

    $ git reset HEAD <files being rebased>
    
  2. 对导致问题的最后一次提交进行修复:

    $ git add <files with compilation fix>
    
  3. 将编译修复添加到最后提交的修改中:

    $ git commit --amend
    
  4. 返回当前正在重新设置的手动修改:

    $ git add <files being rebased>
    

希望这可以帮助。

于 2019-06-03T12:18:53.733 回答