38

私たちはチケットに取り組んでおり、最初の行の git コミット メッセージでチケット番号を使用すると、チケットはコミット メッセージで更新されます。

物事を簡単にするために、私たちは常にコミット番号を持つブランチで作業します。

ここで、チケット番号が既に入力されているコミット メッセージを表示したいと思います。

ブランチはすでにコミット テンプレートにあるが、git によって削除されるコメントにあるため、可能である必要があります。ドキュメントとネットを数回精査しましたが、間違った言葉を探しているに違いありません。

誰でも助けることができますか?

4

2 に答える 2

46

prepare-commit-msgローカルリポジトリにフックを設定することをお勧めします。これは次のようになります(ブランチの名前が「work-on-ticket-XXXX」であるとします。

#!/bin/sh
ORIG_MSG_FILE="$1"
TEMP=`mktemp /tmp/git-XXXXX`

TICKETNO=`git branch | grep '^\*' | cut -b3-`

(echo "Work on ticket #$TICKETNO"; cat "$ORIG_MSG_FILE") > "$TEMP"
cat "$TEMP" > "$ORIG_MSG_FILE"

そのようなもの(実行可能ファイルとしてマークされている)をに入れ.git/hooks/prepare-commit-msgます。もちろん、調整して詳しく説明する必要があるかもしれません。

于 2010-08-19T19:33:01.400 に答える
5

.git / hooks/pre-commit-msgを使用してこれを実行できるはずです。

この簡単な例は次のとおりです。

#!/bin/sh
# $1 contains the file with the commit msg we're about to edit.
# We'll just completely clobber it for this example.
echo "Hello" > "$1"

これにより、コミットは「Hello」で始まります。明らかに、これはスクリプトなので、ここで魔法を使ってチケット番号やその他の情報を入力できます。.git / hooks /ディレクトリにpre-commit-msg.sampleがあり、他に必要な場合にスクリプトが受け取る引数を示します。

于 2010-08-19T19:30:01.157 に答える