10

git commit -amend本当にしたいときに誤って入力することがありgit commit --amendます。Git はそれを検出し、私に尋ねます

$ git commit -amend
error: did you mean `--amend` (with two dashes ?)

これは素晴らしいことです。

ただし、時々私が書くgit commit -ammendと、gitはそれを受け入れてスペルミスを として扱いますgit -a -m "mend"。そのため、ログメッセージ「修復」でコミットするだけです。

git がそうするのを止める方法を探しています。のエイリアスを定義しようとしましgit commit -ammendたが、今のところ失敗しました。この問題に対処する方法について何か提案はありますか?

4

1 に答える 1

6

git commit --amend(正しいスペル) は、実際には よりも危険ですgit commit -a -m "mend"。前者は既存のコミットを書き換えて新しいコミットに置き換えるため、これは多かれ少なかれ破壊的なコマンドです。ただし、後者は意図しないコミットを作成するだけです。これは、既存の履歴を書き換えるのではなく、追加するだけの建設的なコマンドです。

追加するつもりのないコミットを追加するのは面倒かもしれませんが、まったく問題はありません。git reset --soft HEAD~1. _ これにより、作業ディレクトリに影響を与えることなく、ブランチ ポインターがコミット前にリセットされます。

もちろん、コミットの修正を元に戻すこともできますが、これはより破壊的なコマンドであり、少し注意が必要です。

したがって、個人的には、Git がそれを間違った方法で解釈することは気にしません。はい、面倒ですが、それだけです。気がついたら元に戻してください。

私が個人的にお勧めするのは、特にコミットを頻繁に修正する場合は、git commit --amend. 私は個人的に使用しますgit amend。これは、次のコマンドを使用して設定できます。

git config --global alias.amend "commit --amend"

-C HEAD編集をトリガーしたくないが元のコミットメッセージを保持したい場合は、追加することもできます (私はこれを頻繁に行うので、これは私が使用しているエイリアスです):

git config --global alias.amend "commit --amend -C HEAD"
于 2016-12-22T16:51:48.817 に答える