1. ホーム
  2. git

[解決済み] git commit --amend "でコミットメッセージのステップをスキップするには?重複

2023-06-30 04:32:30

質問

私は非常に迅速なコード-コンパイル-テストのループを実行しており、コミットへの変更を修正する頻度が非常に高くなっています。

たとえば

# Make some changes
$ git commit -m "Added feature X"
# Compile, test
# Fix bugs
$ git commit -a --amend

私は通常、バグを修正した後に同じコミットメッセージを表示させたいと思っています。git が私のコミットメッセージを呼び出すのをスキップさせる方法はありますか? EDITOR を起動するのをスキップして、オリジナルのコミットメッセージを使用する方法はありますか?

どのように解決するのですか?

あなたはただ --no-edit を追加するだけで、最後のメッセージを使用することができます。このオプションは 2005 年から存在していましたが、ごく最近になって --amend オプションで有効になりました。

もう一つの方法は -C HEAD をコミットコマンドに追加し、amend オプションをつけることです。これにより、現在のコミットのメッセージを使用するだけでなく、他の任意の参照を指定することができますので、覚えておくとよいでしょう。

これは、歴史の中のさまざまな場所からコミットを構築し、それらのコミットのメッセージの一つを使用するときに特に便利です。たとえば

git checkout feature1^^ -- database/table1.sql
git checkout feature1^^^^ -- logger.py
git add -A && git commit -C feature1

というのは、feature1からの2つのコミットを使用し、feature1への最後のコミットからのコミットメッセージを使用するだけです - もしそれが良い説明であれば。