我有幾個問題的源代碼管理。我和另一位網絡開發人員加入了一家公司,接管了舊有和未來項目的軟件開發。公司沒有源代碼控制,因爲舊項目是由擁有自己的版本控制系統的外部承包商開發的。我想盡快設置一個設置,但是我對於我一直無法找到答案的兩個熱門選擇有一些問題,所以不只是另一個GitHub vs Subversion主題。源代碼控制問題
關於要存儲的項目的一些背景。有幾個較老的項目,主要是驅動程序/固件。我自己開發的新項目將更多基於.Net/Java的,Web開發人員將希望存儲網站內容。
從我讀過的和嘗試過的,我更喜歡Github,但Web開發人員在使用Subversion時變得更加堅定。另一個考慮可能是我在Windows機器上,而Web開發人員在Mac上,所以可用的客戶端會有所不同。我希望我們都可以使用相同的源代碼管理,而不是單獨使用。我使用的第一個源代碼控制是團隊基礎服務器,我們爲每個項目的根目錄有一個存儲庫和子目錄。
Q1。對基本軟件包GitHub的擔憂將允許使用10個存儲庫。考慮到已經有5個網站,十幾個較舊的軟件項目,三個新項目,甚至還有更多未來,我覺得我們會限制我們可以承載的項目數量,即使項目變得越來越少,編輯很少。 。鑑於Git,你似乎克隆/簽出整個存儲庫。我假設我可以在而不是存儲幾個項目在一個存儲庫,正好在不同的子目錄下。
SoftwareRepo/PROJECT1 /代碼
SoftwareRepo/Project2中/代碼
SoftwareRepo /項目3 /代碼
SoftwareRepo/Project4 /代碼
,而不是子目錄使用分支嘗試或者,所以你有一個分支的空倉庫,每個分支包含每個不同項目的內容。我在這裏看到的缺點是,當您切換分支(或我的案例中的項目)時,舊項目的文件在文件資源管理器中隱藏,直到您切換回前一個分支(之前的項目)。
我認爲我們需要的是更多數量的存儲庫,以及他們使用的磁盤空間上限,因爲我們可能會有幾十個小型項目,這些項目只有一個,並且只需要在活動開發期間進行源代碼管理,然後一些更大的項目將利用GitHubs強大的功能,如分支。
對於客戶,我發現SmartGit在管理我創建的測試存儲庫時非常有用,它與我最初嘗試使用的命令通道相對。 Q2302。如果我們使用SubVersion,我們可以自己託管它。我有一個帶有6GB內存的i7,可以運行虛擬機,但Web開發人員不滿意我可能不在辦公室,所以顛覆服務器會關閉,而且他們也不滿意我的機器像服務器一樣24/7全天候運行。我們確實有一個業務服務器,但是外包管理員對運行流程非常敏感,所以我們不能對此進行顛覆。服務器硬盤每天至少備份一次。是否有可能將存儲庫文件存儲在我們的業務服務器上,並僅使用客戶端訪問Subversion文件,或者是客戶端訪問存儲庫文件所需的Subversion服務器進程。 Web開發人員正在考慮在亞馬遜E2C雲中運行SVN服務器,但我沒有經驗,因此無法評論。 我對Subversion的擔憂是我之前使用過它,並且發生了一些非常奇怪的錯誤消息,TortiseSVN讓我刪除已簽出的文件夾,並由於衝突(似乎並不存在)在存儲庫中重新加載源代碼庫簽入任何代碼。
如果你有很多不同類型的小項目,你會選擇哪個源代碼控制客戶端,以及你會採用哪種方法(我們自己的在線主機,主機)。我試圖找出什麼是可用選項中的最佳解決方案。
編輯
令人失望的是,我們到底去了哪裏使用SVN。不是我個人的選擇,但我們在嘗試在Windows機器上安裝Git並將其作爲服務器運行時遇到了難以置信的困難。它需要大量的額外安裝,SHH的設置以及通過命令行進行管理。如本指南所示 - http://www.timdavis.com.au/git/setting-up-a-msysgit-server-with-copssh-on-windows/ 另一方面,我們使用VisualSVN Server的SVN,將其指向網絡驅動器以存儲存儲庫,並且我們正在前進。一個安裝程序和易於使用的管理控制檯。 如果Git可以作爲一個單獨的安裝程序與管理GUI完成,我們會使用它,因爲我認爲它是更靈活和可靠的,因爲我們已經有SVN錯誤消息,(損壞的文件/文件doe snot存在/運行清理等。 )
我很抱歉混合git和github。你們都是正確的github是一個託管服務,只有一個有很多SmartGit的功能和支持。 – JonWillis 2011-02-01 08:19:10