2012-04-02 45 views
11

這裏是新手化石(或任何其他版本控制系統)。早些時候使用專有的,但從未自己設置過。git和化石之間猶豫

目前,我期待設置一個讓我和朋友們可以用它的項目。

我選擇了化石,主要是因爲分佈式似乎是要走的路,似乎輕量且包含的錯誤追蹤系統。但Git似乎是很多人喜歡的SCM。 Git + someBugTracker優於Fossil是否值得增加複雜性?有沒有更好的選擇?我將不得不從0開始。

回答

14

只是有些想法,沒有組織。

如果你的朋友已經習慣gitting,Git是一個很好的和可靠的分佈式SCM,可用偉大的託管服務,如Github上或Gitorious。

雖然,Git的概念不容易理解。化石有類似的概念,但可能更容易下手(不分級的區域,沒有索引的概念,還原變更因爲與revertresetcheckout,等最後提交)。沒有太多的子命令可供選擇,幫助簡明扼要。如果你擔心自己會迷路,可選擇化石。當然,這也意味着在化石中,你不可能用git做很多事情(例如沒有重新綁定,至少現在不行)。

化石,有few hosting online services available。這與Git設置服務器運行Fossil一樣簡單。另外,通過Fossil,項目歷史存儲在一個文件中,因此我發現備份所有項目非常簡單:將所有存儲庫放在同一個文件夾中,然後創建一個rsync任務。但是這使得增量備份完全無用。

雖然與git,對在不同文件夾同一項目中兩個分支的工作將意味着有兩個不同的.git/objects目錄整個項目歷史的兩個副本和樹枝,可能是多餘的,巨大的,與化石默認的工作方案必須有一個單獨的存儲庫以及一個或多個連接到它的工作目錄。也許如果磁盤使用率很重要,這很重要。

警告,化石bug跟蹤系統(在行話票系統)和維基是相當簡陋(雖然,他們工作得很好)。

+5

默認情況下,同一分區上的Git克隆將創建硬鏈接。因此,您需要的唯一空間是工作樹 – knittl 2012-04-05 09:12:19

+1

@Benoit,請注意'rsync'-Fossil repos是一種有點幼稚的方法,因爲它不需要在備份時對該數據庫文件執行寫入活動。執行「在線」備份的唯一可靠方法是使用'sqlite3 dump ...'並在之後備份轉儲文件。 Git並不是很難備份:你只需要使用Git來完成這項任務。而且,如果需要高配置解決方案,gitolite v3可以在推送時實施主/從複製。 – kostix 2012-06-01 10:03:02

+0

@ kostix:出於以下原因,人們喜歡按位進行備份。雖然我沒有看到任何合法的理由來備份化石資源庫,而不是做一個sqlite3轉儲,但有些人會不願意。此外,化石具有複製功能,但不會複製一些數據(通常是「化石清理」將刪除的數據)。如果該數據不需要備份,那麼只需利用複製就足以進行備份。 – Benoit 2012-06-01 15:09:17

相關問題