我應該使用SVN還是Git?


9 Answers

我從來沒有理解過這種“在Windows上不擅長”的概念; 我完全在Windows下開發,我從來沒有任何問題與Git。

我肯定會推薦git over subversion; 它只是非常多才多藝,並且允許“顛覆式開發”以顛覆方式永遠不可能實現的方式。 它幾乎可以在任何可以想像的平台上使用,並且具有比您可能使用的更多功能。

Question

我正在開始一個新的分佈式項目。 我應該使用SVN還是Git?為什麼?




我可能會選擇Git,因為我覺得它比SVN強大得多。 有便宜的代碼託管服務對我來說非常適用 - 您不必進行備份或任何維護工作 - GitHub是最明顯的候選人。

也就是說,我不知道關於Visual Studio和不同SCM系統的集成。 我想像與SVN的整合顯著更好。




正如其他人所指出的,SVN在Windows下似乎是一個不錯的選擇。

如果某些開發人員想要嘗試GIT,則可能會始終使用GIT-SVN,其中SVN存儲庫將在GIT存儲庫中重新創建。 然後,他應該能夠在GIT本地工作,然後使用SVN將其更改發佈到主存儲庫。




肯定是svn ,因為Windows在充其量是git世界中的二等公民(更多細節請參見http://en.wikipedia.org/wiki/Git_(software)#Portability )。

更新:對於斷開的鏈接抱歉,但我已經放棄嘗試使用包含圓括號的URI工作。 [現在鏈接已修復。 -ed]




很少引用SVN的2個關鍵優勢:

  1. 大文件支持。 除了代碼之外,我使用SVN來管理我的主目錄。 SVN是唯一不會在我的TrueCrypt文件中窒息的VCS(請分辨我是否有另一個可有效處理500MB +文件的VCS)。 這是因為差異比較是流式傳輸的(這是非常重要的一點)。 Rsync是不可接受的,因為它不是雙向的。

  2. 部分存儲庫(subdir)結帳/簽入。 Mercurial和bzr不支持這一點,而git的支持是有限的。 這在團隊環境中很糟糕,但如果我想從我的家庭目錄中檢查另一台計算機上的某些內容,這是非常寶貴的。

只是我的經驗。




我會選擇SVN,因為它更廣泛和更廣為人知。

我猜,Git對Linux用戶會更好。




如果你的團隊已經熟悉cvs或svn等版本和源代碼控制軟件,那麼對於一個簡單和小型的項目(比如你聲稱的),我建議你堅持使用SVN。 我對svn非常滿意,但對於我在django上進行的當前電子商務項目,我決定在git上工作(我在svn模式下使用git,也就是說,通過一個集中的repo,從而與至少一個其他開發者合作)。 另一位開發人員對SVN感到滿意,而其他人的經驗可能會有所不同,但我們兩人對於這個小型項目都非常不滿。 (如果它很重要,我們都是硬核Linux用戶。)

當然,你的里程可能會有所不同。




我可以擴展這個問題並詢問Git在MacOS上是否工作良好?

回複評論:感謝新聞,我一直期待著嘗試一下。 我會在我的Mac上安裝它。




我會建立一個Subversion版本庫。 通過這樣做,單個開發人員可以選擇是使用Subversion客戶端還是使用Git客戶端(使用git-svn )。 使用git-svn並不能為您提供完整的Git解決方案帶來的所有好處,但它確實為單個開發人員提供了對自己工作流程的大量控制。

我相信,在Git在Windows和Unix和Mac OS X上工作的時間相對較短(因為您問過)。

Subversion有優秀的Windows工具,比如用於Explorer集成的TortoiseSVN和用於Visual Studio集成的AnkhSVN。




這歸結為:

你的發展是線性的嗎? 如果是這樣,你應該堅持使用Subversion。

另一方面,如果您的開發不會是線性的,這意味著您需要為不同的更改創建分支,然後將這些更改合併回主開發線(Git已知為主分支),那麼Git將執行對你更重要。






Related