最近の Git コミットメッセージを変更する必要があります(コミットメッセージと変更する可能性のあるファイルの内容を含む)。これらの変更はリモートリポジトリにも反映される必要があります。
1. 最近のコミットメッセージの変更#
変更したいローカルブランチにいることを確認します。
git commit --amend
コマンドを使用して最近のコミットメッセージを変更します。
このコマンドを実行すると、エディターが開きます(システムの設定に応じて)、コミットメッセージを変更できます。
変更が完了したら、エディターを保存して閉じます。
新しいコミットメッセージを直接指定したい場合は、エディターを開かずに-m
パラメータを使用できます。
git commit --amend -m "新しいメッセージ"
2. リモートリポジトリにプッシュ#
コミット履歴を変更したため、リモートリポジトリに直接プッシュすると競合が発生します。
この場合、--force
または--force-with-lease
パラメータを使用して強制プッシュする必要があります。これにより、リモートリポジトリの対応するコミットが上書きされます。
--force
を使用する(推奨されません)
git push --force origin <リモートブランチ>
--force
を使用すると、リモートブランチが強制的に更新され、ローカルブランチの状態と完全に一致します。
他の人がこの間にリモートブランチに別のコミットを行った場合、それらはあなたのプッシュで上書きされます。
したがって、--force
を慎重に使用する必要があります。
--force-with-lease
を使用する(推奨)
git push --force-with-lease origin <リモートブランチ>
--force-with-lease
はより安全な強制プッシュ方法を提供します。
プッシュ前にリモートブランチの状態が予想通りかどうかを確認します。
もしリモートブランチが最後にプルした後に他の人の新しいコミットがある場合、プッシュは失敗し、他人の作業を誤って上書きするのを避けることができます。
複数人での共同開発では、--force-with-lease
を使用することがより良い選択肢です。