如果我使用git archive命令從裸GIT存儲庫導出我會收到錯誤消息: 「致命的:此操作必須在工作樹中運行」,儘管導出正確傳遞。從裸回購出口時,爲什麼GIT報告「致命的:此操作必須在工作樹中運行」?
所以我的問題是:從裸倉庫導出時是否有任何問題?我檢查了導出的檔案,它看起來沒問題。
如果我使用git archive命令從裸GIT存儲庫導出我會收到錯誤消息: 「致命的:此操作必須在工作樹中運行」,儘管導出正確傳遞。從裸回購出口時,爲什麼GIT報告「致命的:此操作必須在工作樹中運行」?
所以我的問題是:從裸倉庫導出時是否有任何問題?我檢查了導出的檔案,它看起來沒問題。
我實際上沒有得到那個警告 - 我確定它是一個在你使用的版本後的某個時間已經解決的錯誤。我無法確切地知道什麼時候,因爲我甚至沒有設法再現它(我嘗試了v1.5.3.4,v1.6.2,並且從當前的主人開始構建)。
試試1.6.0.3 ... – 2010-06-08 12:47:21
啊,謝謝。我得到了git版本1.5.6.5(Debian穩定版)的消息。 – 2010-06-08 12:49:47
正如"backing up project which uses git"中提到的,git bundle
會更合適。
git archive
只是創建樹木(快照)tarball,但不保留提交和歷史記錄。
但是,您可能會在簡單複製之後,而不是在一個文件中捆綁的所有歷史記錄。
這就是說,如果git archive
期望一個工作樹(如「How to do a Git export」中所示),它的錯誤消息期望在一個裸露的repo中,根據定義,它沒有工作目錄。
我需要創建一個由純工作副本組成的檔案,所以git bundle可能不可用。 我當然可以克隆到正常的(不是裸露的)存儲庫,並在那裏調用git存檔,但我不知道是否有必要,因爲git存檔顯然也在裸存儲庫中工作。 我只是不知道錯誤消息是否真的意味着導出可能會失敗,或者由於某些歷史原因導致消息存在。 – 2010-06-08 11:42:25
您不是任何人還在用1.6.0.3嗎? – 2010-06-08 12:48:57