0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Git で無限に rebase が終わらない時

Posted at

git rebase をしていたら謎現象に当たったのでメモ書き

以下のようなコミット履歴があったとします。

aaaaaa: A
bbbbbb: B
cccccc: C

git rebase -i aaaaaa^aaaaaaedit にして保存します。その後 aaaaaa で作業を反映し git rebase --continue をすると当然 TODO は次の状態になります。

bbbbbb: B
cccccc: C

B, C は pick なので通常なら何事もなく commit されて終了なはずですが、なぜか bbbbbb がすでに反映されている状態で更に追加しようとしました (なぜ?)

error: could not lock '.git/MERGE_MSG': File exists
error: could not apply bbbbbb... B
hint: Resolve all conflicts manually, mark them as resolved with
hint: "git add/rm <conflicted_files>", then run "git rebase --continue".
hint: You can instead skip this commit: run "git rebase --skip".
hint: To abort and get back to the state before "git rebase", run "git rebase --abort".
hint: Could not execute the todo command
hint:
hint:     pick bbbbbb... B
hint:
hint: It has been rescheduled; To edit the command before continuing, please
hint: edit the todo list first:
hint:
hint:     git rebase --edit-todo
hint:     git rebase --continue

すでに反映されているので当然ファイル重複にはなっているのでこのコミットは必要ありません。なぜか git rebase --skip は使えなかったので git rebase --edit-todo で TODO を開き bbbbbb の行を削除します。cccccc でも同様の現象が起きたため同じ対処をします。

これにより意図通りに aaaaaa のみを編集できました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?