LoginSignup
0
0

【Git】リモートにpush後にブランチ名とコミットメッセージを変更する方法

Last updated at Posted at 2024-02-01

はじめに

この投稿は強制プッシュなど行なっていますので、特にチーム開発などをしている方は十分に注意してください。
ブランチをpushした後にブランチ名はコミットメッセージを変更したい場合が時々あり毎回忘れては調べてを繰り返していたので備忘録用にまとめます。

ブランチ名の変更

git checkout ブランチ名を変更したいブランチ
git branch -m 新しいブランチ名
git push origin 新しいブランチ名

これでブランチ名の変更は完了です。
※正確には変更ではなくブランチ名を変更したブランチを新たにpushします。
 なので名前を変更する前のブランチも残っているので不要な場合は削除する
 必要があります。

コミットメッセージの変更

最後のコミットメッセージを変更する場合

最後(直前)のコミットメッセージを変更する場合は簡単で

git commit --amend -m "新しいコミットメッセージ"

でコミットメッセージを変更できます。
次はpushするのですが、ここからが問題で変更した次はリモートにpushしたコミットを変更した場合は--forceオプションを使用して強制的にpushする必要があります。
なので、pushするときは注意してください。

git push origin ブランチ名 --force
最後から2番目以降のコミットメッセージを変更する場合

まずは

git rebase -i HEAD~2

で最後から2番目までのコミット情報を表示します。
HEAD~の後ろは表示させたいコミットに合わせて変更します。
表示させたいコミットはgit log --onelineで探すのが楽かと思います。
git rebase -i HEAD~2を実行すると、

pick 1a64XXX 変更前のコミットメッセージ2
pick 8ba5XXX 変更前のコミットメッセージ1

エディタで変更したいコミットの先頭のpickをeditに変更して:wqで保存して閉じます。

pick 1a64XXX 変更前のコミットメッセージ2
edit 8ba5XXX 変更前のコミットメッセージ1

次にコミットメッセージを変更します

git commit --amend

エディタでeditにしたコミットの情報が表示されるので、新しいコミットメッセージに変更して:wqで保存してエディタを閉じます。
次にrebaseを続行します

git rebase --continue

リモートにpush済みの場合は強制プッシュが必要なので--forceオプションをつけてpushして完了です。

git push origin ブランチ名 --force
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