15

この抜粋からわかるように、「!」があります。git コマンドの前。ポイントは何ですか?

[alias]
commitx = !git add . && git commit

- https://stackoverflow.com/a/8956546/1354543

エイリアスとコマンド自体が何をしているのかは理解していますが、「!」のポイントは理解していません。git コマンドの前。

4

2 に答える 2

23

!「シェルへのコマンドとして以下を実行する」という意味なので、この場合、エイリアスはgit commitx実行と同等に拡張されますgit add . && git commit(これはひどいひどい考えです)

于 2012-05-17T18:37:03.840 に答える
16

受け入れられた回答でカバーされていない重要な側面は!、シェルコマンドの場合、作業ディレクトリが作業コピーの最上位に設定されていることです。したがって、git commitx作業コピー内のすべての新規および変更されたファイルをステージングしてからコミットしますが、git add . && git commit手動で実行すると、現在のディレクトリ内のすべての新規および変更されたファイルをステージングしてからコミットします。

于 2012-08-03T20:15:49.097 に答える