7

私は git に対して次の一連のコマンドを実行していますが、入力するのに指が疲れてきました。:)

git add .
git commit -m 'Some message'
git push
cap deploy

これら (メッセージの追加を含む) を「git booyah」などの単一のコマンドに結合するにはどうすればよいですか?

4

4 に答える 4

7

git aliasスクリプトの呼び出しを定義できます

バージョン1.5.0以降、Gitは、値の前に。を付けることにより、git以外のコマンドを実行するエイリアスをサポートします"!"
バージョン1.5.3以降、gitは「!」というプレフィックスが付いたコマンドへの引数の追加もサポートしています。

エイリアス内で関数を定義しているので、' sh -c'への明示的な呼び出しを回避できます

[alias]
        publish = "!f() { git add . ; git commit -m \"$1\" ; git push ; cap deploy ; }; f"

または、彼の答えでポッドの提案の後:

[alias]
        publish = "!f() { git commit -a -m \"$1\" ; git push ; cap deploy ; }; f"

(テスト予定)

于 2009-11-04T17:46:18.320 に答える
6

これはあなたの質問に対する答えではありません (私の答えは、bash/batch スクリプトを作成することです)。

私はこれを言います: しないでくださいgit add .これにより、現在のディレクトリとその子孫にすべての変更とすべての追跡されていないファイルが追加されます。これらの追跡されていないファイルをディレクトリに入れたくない場合は、誤ってそれらを追加してしまう可能性があります。

代わりにgit add -u. さらに良いことに、 add ステージをスキップして do を実行しますgit commit -a -m"blah"。これにより、行全体が節約されます。これは明らかに避けたいことです。

于 2009-11-04T17:52:55.103 に答える
2

セミコロンを使用して、1 つのコマンド ラインに結合します。

git add .; git commit -m "Some message"; git push; cap deploy
于 2020-03-27T21:10:42.080 に答える