はじめに
gitでpush後のコミットメッセージの変更の仕方を記載します。
調べればすぐにわかることですがメモります。
対応方法について
以下で記載する対応方法について、先に感想を記載させていただきます。
一人作業の時は何の問題もありません。
ただ、コミットメッセージを変えたい場合は、マージされる前のコミットメッセージまでです。
共同作業の場合、履歴にこだわる場合は、マージされたコミット名称は変えない方が無難です。
また、SourceTreeのようなGUIツールでもリベースやamendといった操作は可能ですが、操作手順や実行中の詳細がコマンドラインに比べて把握しにくいことが多く、特にエラー発生時の対処が複雑になることがありため、コマンドでの対応をお勧めします。予期せぬ結果が発生しかねません。
対応方法
Gitで既にpushした後のコミットメッセージを変更するには、以下の手順で行えますが、リポジトリを共有している他の人に影響を与える可能性があるため、注意が必要です。
-
最新のコミットのメッセージを変更する場合:
- ローカルでコミットメッセージを修正します。
git commit --amend -m "新しいコミットメッセージ"
- 変更をリモートリポジトリに強制的にpushします。
git push --force
- ローカルでコミットメッセージを修正します。
-
過去のコミットのメッセージを変更する場合:
- リベースを使用してコミットを修正します。
n
をそのコミットが現在から数えて何番目かに置き換えます。git rebase -i HEAD~n
- エディタが開くので、変更したいコミットの行を見つけて、
pick
をreword
に変更し、保存してエディタを閉じます。 - 指示に従って新しいコミットメッセージを入力します。
- リベースが完了したら、変更をリモートに強制的にpushします。
git push --force
- リベースを使用してコミットを修正します。
この方法は、特に他の人がその変更を既にpullしている場合、リポジトリの履歴を変更するため、使用には慎重を期する必要があります。他の開発者に対して事前に通告し、理解と協調を得ることが重要です。
参考