解釋爲什麼我想這樣做是複雜的,但我想這樣做是使特定的Git倉庫用後收到掛鉤,執行以下操作:運行git命令後收到鉤
- 移到測試目錄
- 克隆剛剛更新的項目。
- 簽出一個特定的分支。
- 做一些測試
的後收到的代碼如下所示(簡化):讓「回購」是Git倉庫的名稱,讓「TESTDIR」是同級目錄的名稱,初始爲空,並讓「dev」作爲分支的名稱。
cd ../testdir
git clone --local ../repo .
git checkout dev
然而,當腳本代碼獲取到「混帳結賬」,git的響應「:沒有一個Git倉庫:致命‘’」
我不知道爲什麼混帳認爲「TESTDIR 「不是一個混帳存儲庫。如果我從命令行運行該命令(而不是從post-receive中運行),那麼它們可以正常工作。我不知道爲什麼這種行爲會與接收後的行爲有所不同。有任何想法嗎?
這是我原來的帖子中的一個錯字。這不是問題。我克隆到當前目錄「testdir」。 –
如果你這樣做 cd ../testdir git clone --local ../repo。 (注意「。」) 那麼你仍然在testdir中,並且包含存儲庫的一個克隆。 那麼你仍然在同一個目錄 –
哎呀,錯過了後面的'.'。抱歉! – larsks