2009-12-03 55 views
4

編輯:好吧,我知道我想我需要一個分佈式源代碼控制,但是有沒有基於UI的控件,它們是否允許您與網絡上的其他用戶合併?如何在沒有服務器的情況下在本地網絡上設置版本控制系統?

這是一個兩部分問題,所以在這裏。我想開始在家開發一個Web應用程序(與多個開發人員)。但是,我沒有專用服務器,也不想付費。因此,我不知道哪種版本控制系統可以用於這種情況,因爲在工作中我們大多數都有TFS設置,所以我不會熟悉那裏的情況。那裏有什麼最好的免費CVS/SVN工具?

其次,是否有可能以某種方式設置CVS/SVN,其中沒有專用服務器,並且兩個客戶端最多可以存儲來自上次簽入的源代碼的一週時間?

此外,如果它可以與視覺工作室集成,這將是有幫助的,但這並不重要。

問題:

有五個用戶,一個是服務器。

服務器相連:一切OK

服務器斷開連接:沒有人可以分享。

我在尋找:

否服務器:

  1. 用戶仍然擁有了版本基於上次簽入的版本ID。
  2. 用戶必須檢查網絡上的所有版本,以確保它們沒有根據其最新版本ID過期。
  3. 如果不檢入,否則合併/獲取最新。
  4. 如果他們更新簽入,並設置當前版本ID +1。
+0

SVN技術上不需要「專用」服務器iirc。我過去不使用持續進程(使用filesystem或svn + ssh)來使用它。然而像Git這樣的解決方案在這方面要好得多。 – Matt 2009-12-03 22:27:43

回答

3

如果您尋找的是沒有一箇中央回購源控制,你正在尋找一個分佈源控制系統如Git的或水銀。

+0

這些工作是否可以在多臺計算機上工作,並且學習曲線很小? – Andrew 2009-12-03 22:23:44

+0

Git - 學習的噩夢 Mercurial - 正如您所期望的 (只是我的兩美分) – 2009-12-03 22:58:17

+0

或Bazaar。 (我不會推薦使用較少知道的DVCS,比如Darc或Monotone,除非你有特定的要求使它更好地使用它們) – 2009-12-04 12:30:22

1

最好的免費CVS/SVN工具是SVN

再加上它很容易在任何機器上設置SVN服務器。閱讀罰款manual

+0

我想避免擁有一箇中央存儲庫,以避免像我所提到的那樣至少失去(1周)的工作。如果一臺計算機出現故障,則會不斷建立服務器,因爲它們是家庭計算機。 – Andrew 2009-12-03 22:26:25

0

TeamCity通過JetBrains進行持續集成非常好,易於配置,而且您不需要「服務器」,只需打開一臺機器即可。它與顛覆也很好地融合在一起。這是與VisualSVN服務器一起安裝的快照。 Visual Studio的VisualSVN插件。

+0

但是,這不符合你的「沒有專用服務器」的要求,我不知何故錯過了閱讀 – CaffGeek 2009-12-03 22:24:57

1

我假設在某些時候你的開發人員將連接到每個(也許在你的局域網上)來合併你的所有代碼。如果是這種情況,我強烈建議使用DVCS(分佈式版本控制系統)。該塊上流行的孩子是Git,但也有其他人喜歡Mercurial。如果您主要在Windows上開發,Mercurial似乎擁有更好的支持。 DVCS的主要優點是它們適用於斷開連接的團隊。

希望有所幫助。

+0

嗨羅姆,是的,在閱讀了尼爾N說什麼後,我去了,並開始閱讀這個。它看起來就像我想要的一樣(http://en.wikipedia.org/wiki/Distributed_revision_control)。看起來這些都有一個陡峭的學習曲線,我將與初學者程序員一起研究這個問題,是否有任何UI版本。二,你可以在與其他用戶連接互聯網時合併更改嗎? – Andrew 2009-12-03 22:31:51

1

你或許應該有興趣VisualSVN server。它的免費版女巫將足以滿足您的所有需求。順便說一下,toroise SVN甚至可以在任何文件夾或閃存驅動器上支持存儲庫,因此您不需要在單獨的服務器上。至於與VS融合,Visual SVN可以幫助你,但它不是免費的。享受=)

+0

「順便說一下,toroise SVN甚至可以在任何文件夾或閃存驅動器上支持存儲庫。」這是否意味着它不需要服務器? – Andrew 2009-12-03 22:36:21

+0

@安德魯:是的,確實如此。 – sbi 2009-12-03 22:42:13

+0

「你可以在沒有服務器的情況下在文件系統上設置一個SVN倉庫,甚至還有一個菜單條目」你認爲你可以指向我的教程或者是指示我怎麼做的嗎? – Andrew 2009-12-03 22:49:31

1

對於低學習曲線,使用SVN是最容易的,因爲它接近於TFS模型。但是這也意味着一個專用的服務器。我建議VisualSVN server,因爲它很容易設置。然後,您需要將外部運行的端口暴露給家庭網絡之外的其他開發人員。要與Visual Studio集成,請查看AnkhSVN。或者堅持像傳統客戶TortoiseSVN

這意味着任何遠程開發人員在與存儲庫交互時會放慢速度。這就是像Git這樣的選項出現的地方,但是當你習慣於集中存儲庫時,它肯定有一點學習曲線。有一些工具可以將Git與SVN相結合,以獲得兩全其美的優勢。我沒有嘗試在Windows環境中使用它們,所以我不會說它們使用起來多麼容易。我只是剛開始使用Git進行項目,主要是因爲我無法在其他地方建立資源庫。

+0

謝謝你的幫助:),我認爲如果沒有人知道Git的替代方案,我將被迫走下這條道路。 – Andrew 2009-12-03 22:38:50

+0

您可以在沒有服務器的情況下在文件系統上設置SVN存儲庫。龜甚至有一個菜單條目。 – sbi 2009-12-03 22:39:45

+0

@Andrew:我聽說過的Git的唯一替代品是Mercurial和Fossil(http://www.fossil-scm.org/index.html/doc/tip/www/index.wiki)。 – 2009-12-03 22:52:35

0

您是否考慮過使用在線託管解決方案?這樣,您就不必擔心設置服務器,管理備份等。有些服務免費提供 - 我自己試用的服務是Beanstalk,它使用Subversion併爲最多三位用戶提供免費計劃有100 MB的空間。用於較小的項目。

0

正如一些回覆指出的那樣,像Git或Mercurial這樣的分佈式版本控制就是您所需要的。也許如果你能解釋你的分佈式團隊如何工作,可以建議另一種可能的解決方案。

例如,您提到了在家設置工作,並且在過去使用TFS的團隊中工作。也許,如果你的工作設置是由大部分的團隊在工作中,你獨自在家工作,那麼你可以這樣做:在工作

  1. 有無SVN在您所有的隊友們一起工作,解決的問題複雜性和學習曲線
  2. 你可以在家中使用git-svn,在那裏你有svn服務器的本地倉庫在工作,你仍然可以在本地工作,並進行各種更改和分支......只合並更改你想要工作的SVN倉庫。
相關問題