2010-12-22 117 views
8

對不起,如果這是其他地方,但我找不到答案。Git裸 - 備份什麼?

我有一個裸倉庫,名爲bare.git,它是克隆dev開發倉庫的倉庫。這一切運作良好。

我想知道bare.git從哪裏獲取源文件。它們是否作爲二進制文件存儲在bare.git文件結構中?我可以將bare.git移動到另一個位置,並且仍然可以克隆它,因此源必須以某種方式可移植。還是它存儲絕對網絡引用的文件?

有我想Ø知道這些信息主要有三個原因:

  1. 我們需要知道如何備份。
  2. 我的老闆想知道源代碼去了哪裏。
  3. 我們需要一個當前的複合版本進行測試。
+2

@YourBoss - 魔術源代碼的精靈都吃過它。 – Paddy 2010-12-22 15:33:44

+2

Git在.git中的普通克隆或repository.git中有一種數據庫,裸倉庫沒有簽出文件(這是裸倉庫的定義),所以源文件都在在對象/ ??/*或對象/包/ *中的「數據庫」,你必須備份整個bare.git。 – Wodin 2010-12-22 15:39:08

+0

@Paddy - 你的意思是這個混蛋吃了它? – Leo 2010-12-22 15:53:26

回答

6

您的源文件作爲bare.git文件結構中索引的一部分進行存儲,與您在任何克隆中的.git目錄中的文件結構相同。

因此,最好備份完整的bare.git。

您可以通過克隆裸露的回購來獲取當前版本的測試版本。

1

備份整個bare.git文件夾不能錯過,你可以隨時克隆它。

當你想測試源代碼時,你需要克隆它。 Using Git to manage a web site這篇文章向您展示了一種處理問題的方法,當然這個方法會自動檢查出每次推送到bare.git後的整個回購。此代碼是你應該考什麼(除非你想要做的推來推去bare.git,在前預提交前收到