[解決済み] 既存の、プッシュされていないコミットメッセージを修正するには?
質問
コミットメッセージに間違ったことを書いてしまいました。
どうすればメッセージを変更できますか?コミットはまだプッシュされていません。
解決方法を教えてください。
直近のコミットメッセージの修正
git commit --amend
を実行するとエディタが開き、直近のコミットのコミットメッセージを変更できるようになります。さらに、コマンドラインから直接コミットメッセージを設定することもできます。
git commit --amend -m "New commit message"
...ただし、この場合、複数行のコミットメッセージや小さな修正の入力が面倒になります。
作業コピーの変更がないことを確認する 段階的 を実行すると、それらもコミットされてしまいます。( アンステージ の変更はコミットされません)。
すでにリモートブランチにプッシュしたコミットのメッセージを変更する
すでにリモートブランチにコミットをプッシュしている場合は、ローカルでコミットを修正した後で (上記のように)、次のようにします。 コミットを強制プッシュする必要があります。 を使っています。
git push <remote> <branch> --force
# Or
git push <remote> <branch> -f
警告: フォースプッシュすると、リモートブランチはローカルのブランチの状態で上書きされます。 . 自分のローカルブランチにないコミットがリモートブランチにある場合は 意志 はそれらのコミットを失います。
警告: すでに他の人と共有しているコミットを修正するのは慎重にしてください。 コミットの修正は基本的に リライト を持つようにすることで、異なる シャー これは、あなたが書き直した古いコミットのコピーを他の人が持っている場合に問題となります。古いコミットのコピーを持っている人は、新しく書き直したコミットと自分の作業を同期させる必要があり、それが困難な場合もあります。
対話型リベースの実行
もう一つの方法は、対話型リベースを使用することです。 これにより、最新のメッセージでなくても、更新したいメッセージを編集することができます。
Gitスクワッシュを行うには、次のような手順で行います。
// n is the number of commits up to the last commit you want to be able to edit
git rebase -i HEAD~n
コミットをつぶすと、次のようになります。
e/r
をクリックすると、メッセージの編集ができます。
対話型リベースに関する重要な注意事項
を使用する場合
git rebase -i HEAD~n
がある場合があります。
より
n回以上のコミット Git は直近の n コミットをすべて "collect" し、その範囲のどこかでマージがあった場合はそのすべてのコミットも表示するので、結果は n + .となります。
良いヒントです。
もし、1つ以上のブランチに対してこの作業を行う必要があり、コンテンツを修正する際にコンフリクトが発生する可能性がある場合、以下のように設定します。
git rerere
を実行し、Git にそれらのコンフリクトを自動的に解決させます。
ドキュメンテーション
関連
-
[解決済み] Git で直近のローカルコミットを取り消すには?
-
[解決済み] Gitブランチをローカルやリモートで削除するには?
-
[解決済み] コミット前に 'git add' を取り消すにはどうすればよいですか?
-
[解決済み] リモートのGitブランチをチェックアウトするには?
-
[解決済み] リモートタグを削除する方法を教えてください。
-
[解決済み] Git でファイルの一部分のみをコミットする
-
[解決済み] ある特定のコミットのコミット作者を変更する方法は?
-
[解決済み] Git で最新のコミットを新しいブランチに移動する
-
[解決済み】指定したコミットを変更するには?
-
[解決済み】ローカルのGitブランチの名前を変更するには?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] masterブランチと'origin/master'が分岐している、'undiverge'ブランチの方法は?
-
[解決済み】gitがローカルバージョンをリモートバージョンに置き換える
-
[解決済み] git rebase fatal: 必要なリビジョンは1つです。
-
git revert 複数コミット
-
[解決済み】gitの「not something we can merge」エラーの解決方法
-
[解決済み] リモートから<branch name>とマージするように構成が指定されていますが、そのような参照は取得されませんでしたか?
-
[解決済み] 複数のコミットをチェリーピックする方法
-
[解決済み] Git エラー : 'upstream' は git リポジトリでないようです。
-
[解決済み] Gitのプッシュエラーです。Unable to unlink old (Permission denied)です。
-
[解決済み] Gitの最後のコミットにファイルを追加するには?重複