読者です 読者をやめる 読者になる 読者になる

途中のcommit内容を修正したい

余りやりませんが、タマに必要になったりします

$ git log
commit 87fdffbdc642645ba4c60aee360764893e1648c8
Author: Yuya Adachi <moguriso@tizen.moe>
Date:   Thu Dec 24 22:17:24 2015 +0900

    mod2

commit 3ffe8a3745ef8b78c497737bc0dd84ef6ab00a89
Author: Yuya Adachi <moguriso@tizen.moe>
Date:   Thu Dec 24 22:17:08 2015 +0900

    mod1

commit 96689c7cae905d3f9b24d1282906421322294c42
Author: Yuya Adachi <moguriso@tizen.moe>
Date:   Thu Dec 24 22:16:25 2015 +0900

    init

こんな感じになってます。mod1を直したい場合、

$git rebase -i 96689c7cae905d3f9b24d1282906421322294c42
  1 pick 3ffe8a3 mod1
  2 pick 87fdffb mod2
  3
  4 # Rebase 96689c7..87fdffb onto 96689c7 (2 command(s))

1行目(mod1)のpickをeditにしてShift+ZZ

$ git log
commit 3ffe8a3745ef8b78c497737bc0dd84ef6ab00a89
Author: Yuya Adachi <moguriso@tizen.moe>
Date:   Thu Dec 24 22:17:08 2015 +0900

    mod1

commit 96689c7cae905d3f9b24d1282906421322294c42
Author: Yuya Adachi <moguriso@tizen.moe>
Date:   Thu Dec 24 22:16:25 2015 +0900

    init

mod1状態になります。テキトウに編集して、

$ git add -u
$ git commit --amend
$ git rebase --continue
test.c: needs merge
You must edit all merge conflicts and then
mark them as resolved using git add

衝突する場合は怒られる模様。
はて、どうすれば良いんだろ。。。