2013-01-09 224 views
1

我一直在看一些GIT視頻和閱讀一些網站。到目前爲止,似乎GIT可能是我的團隊的一個很好的源代碼控制解決方案。但是,我有一個問題/關注。我們有許多不同的代碼項目,而且一次只有少數人在爲它們工作。如果我們每個人在我們的機器上都有完整的代碼庫,那將是一團糟。哎呀,一臺機器可能不會有存儲容納整個代碼庫和歷史。是否可以設置GIT,以便每個開發人員只有他們正在他們的機器上工作的代碼?我在想,你可能能夠爲每個項目創建一個分支,開發者可以選擇是否在他們的機器上擁有它。這聽起來可能嗎?GIT源代碼控制

+0

爲什麼要將所有項目放在一個存儲庫下? –

+0

戴夫 - 我想這是源於多年的不安全。感謝大家。相關或單個項目的存儲庫聽起來像會讓GIT成爲我們的絕佳解決方案 – Dave

回答

1

我們有許多不同的代碼項目的唯一有幾個人一次對他們工作 。如果我們每個人都在我們的 機器上擁有完整的代碼庫,那將是一團糟。

您會爲每個項目創建一個回購(假設您的項目是指獨立應用程序)。開發人員只需要他們正在開發的項目的源代碼。

其次,GIT獲得了很好的壓縮。它目前用作Linux的事實上的源代碼控制(這是大約1000萬行代碼,最後我聽說過)。它適用於他們,很可能,它會爲你工作。

3

這種失敗的分佈式版本控制系統的整個存在。我認爲你會驚訝於一個項目能夠「適合」git而不會造成任何問題。如果linux內核可以做到這一點,那麼你也可以。

如果你的項目是合理的正交,你可以讓每個項目都在自己的倉庫中。

+1

Git經常比zip或tar更好地「壓縮」。 – Hogan

0

假設每個項目都屬於一組人並且組不重疊,爲什麼不把每個代碼項目放在單獨的git存儲庫中?這樣開發人員只能克隆他們需要的存儲庫。

請注意,儘管一般情況下分佈式存儲庫比中央存儲庫使用更多的空間。

+0

你的意思是* checkouts *爲DVCS佔用的空間比集中的多,對吧?因爲SVN歷史上10年的特定進口,在回購方面佔據了一半的空間。 –

-1

有可能,但我認爲你將創建多個分支更混亂(大部分在你的大腦),你需要單獨的存儲庫,因爲它已經建議

+0

爲什麼要在git中將分支作爲單獨的軟件倉庫?這不是好事。 –

+0

什麼?爲什麼你在談論mercurial?我認爲這是一個誤解,我的意思是說,在分支機構和他們所在的地方迷路很容易。 – allergic

+0

它們位於您擁有的單一結帳中。只是不要使用多個目錄,事情保持簡單。人們總是可以'藏好'或者做'轉儲'提交哪一個稍後重置。 –

1

七年Linux歷史記錄的回購約爲650MB的默認設置。而不是爲每個子項目創建分支,只需爲每個子項目創建一個完整的回購。如果您需要將所有子項目作爲一個包收集在一起,您可以有一個將它們全部作爲分支包含在其中的倉庫,並將它們合併到該倉庫中的單個包中。