最近の 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
を使用することがより良い選択肢です。