Movatterモバイル変換


[0]ホーム

URL:


[Git] 最初のコミットを含めてrebase -iする方法

[Git] 最初のコミットを含めてrebase -iする方法

こんにちは。サービスグループの武田です。最初のコミットを含めてrebase -iしたい場合は、--rootオプションを付けましょう。
Clock Icon2021.06.22

この記事は公開されてから1年以上経過しています。情報が古い可能性がありますので、ご注意ください。

こんにちは。サービスグループの武田です。

結論だけ知りたい方!--rootだけ覚えてください!

$ git rebase -i --root

Gitを使っているとコミットの分割や統合が簡単に行えます。開発時は雑にコミットしておいたものを、PR前に整理するという方も多いのではないでしょうか。

そんな折に大活躍するコマンドがrebase -iですね。これを利用することで、歴史改変が簡単に行えます。そういえばVivy -Fluorite Eye’s Song-がおもしろいですね。見ていない方はぜひ。アマプラでも見れます。

さてそんなrebase -iなのですが、最初のコミットを対象にする場合、追加のオプションが必要となります。簡単に確認してみましょう。

$ mkdir git_rebase_test && cd $_$ git init$ touch README.md$ git add .$ git commit -m 'init commit'$ echo '# git rebase' > README.md$ git add .$ git commit -m '2nd commit'

2つのコミットを対象にrebaseしてみます。

$ git rebase -i @~2fatal: invalid upstream '@~2'

不正な指定ということでエラーとなってしまいました。ちなみにgit rebase -i @~1だと次のようになり、意図したものにはなりません。

pick 3823264 2nd commit# Rebase b194806..3823264 onto b194806 (1 command)

最初のコミットからrebaseするには、コミットハッシュなどの指定ではなく--rootオプションを指定します。試してみます。

$ git rebase -i --root

次のようなエディット画面が立ち上がります。

pick b194806 init commitpick 3823264 2nd commit# Rebase 3823264 onto ec23e56 (2 commands)

先ほどと異なり最初のコミットも含まれていますね。あとはいかようにもしてください。

さいごに

今期は東京リベンジャーズもタイムリープものですね。そちらもおもしろいですよ。

Share this article

facebook logohatena logotwitter logo
SIDE-A_請求代行

関連記事

Classmethod's white logo
クラスメソッド株式会社
Facebook's logo
X's logo
YouTube's logo

主なカテゴリ

お問い合わせ

運営会社

© Classmethod, Inc. All rights reserved.


[8]ページ先頭

©2009-2025 Movatter.jp