2

Git で更新フックを使用して、このプッシュが Phabricator で承認されているかどうかを確認しています (mysql に接続して)。更新スクリプトで 2 番目のパラメーターを古い commitID として使用しようとすると、この参照 (ブランチ) が作成され、以前にプッシュされていない場合0のように、常に 40 秒が発生します。しかし、この参照の開始点を示すために、master の最後の commitID を取得したいと考えています。0000000000000000000000000000000000000000git checkout -b master

このような:

マスター ブランチの最後の commitID は、マスター ブランチ978881526a1be5dc49aeef93cd83679c2142eb60 を使用してこのような新しいブランチをチェックアウトし、git checkout -b t1 何かをコーディングして何度かコミットしたため、ブランチの新しいヘッドを取得しました。dfb3094b7e9f06a8bf49671b5bbab45dd5c4318e 最後に、次を使用してこのブランチをオリジンにプッシュしますgit push origin t1

以下のように、更新スクリプトのパラメーターを取得することを期待していました。

$1 refs/xxx/t1

$2 978881526a1be5dc49aeef93cd83679c2142eb60

$3 dfb3094b7e9f06a8bf49671b5bbab45dd5c4318e

しかし、私は以下のようにそれらを得ました:

$1 refs/xxx/t1

$2 0000000000000000000000000000000000000000

$3 dfb3094b7e9f06a8bf49671b5bbab45dd5c4318e

この問題を解決する方法を知っている人はいますか?

4

1 に答える 1

1

リポジトリにコミットがない場合、古いコミット ID はすべてゼロです。これは新しいブランチでも同じです。Git receive/update hooksの説明と、この問題を回避する方法を推奨する新しいブランチも参照してください。

于 2014-08-07T09:28:27.473 に答える