簡體   English   中英

Git還是Subversion?

[英]Git or Subversion?

假設我正在使用Visual Studio在家中啟動一個新的Web項目,即哪個版本控制系統,即。 Git或Subversion會更好用嗎? 哪一個設置復雜度最低?

由於這是為了你自己的個人游戲,我的問題很簡單:你知道Subversion還是Git?

  • 如果你知道SVN - 使用Git。
  • 如果你知道Git - 使用SVN。

如果你不知道 - 使用SVN。 這是一個更好的介紹。

我和Git一起去。 在基礎知識上加快速度並不是那么糟糕(現在有很多好的資源,包括learn.github.com),並且它會在黑桃中得到回報。 我一直在Vista上使用它而沒有probs。

根據我的經驗,Subversion對Windows更友好,對單獨的開發人員也更直接有用。

另一種可能性是Perforce,它對Windows不太友好,但功能齊全且易於使用,更不用說最多兩個用戶免費了。

Git是一個分布式源代碼控制設置,因為您是唯一一個我無法想象您會從其功能中獲益的用戶。 Subversion(在我看來)更容易設置,所以我建議你去使用它。

如果你是獨自工作並希望某種版本控制易於使用,那么使用Subversion。它在Windows上工作得很好,設置存儲庫是用Tortoise SVN在空的右鍵單擊。 Ankh SVN提供了與Visual Studio的非常好的集成 - 幾乎與TFS相當,只要您使用VS 2005或更新。

另一方面,Git比SVN更有前途。 我會在今年檢查一下,但是第三方工具尚未達到標准。

我會選擇Mercurial 它應該類似於Git(由於Windows問題我永遠無法運行)並且在Windows中很容易設置並且非常適合“個人”版本控制系統。

您決定使用哪一個取決於您現在和未來的需求。 Git有一個非常好的社區,用GitHub構建它,非常適合共享代碼和項目。 SVN很容易設置和開始,但在大型團隊中,Git通過它的分支和合並來擊敗它。 如果您有多個人在同一個項目上工作,無論是在辦公室環境中還是在團隊分散的OSS意義上,這都是理想的選擇。

如果您需要的是快速簡單的設置和開始,那么您可以開始您的項目,SVN應該沒問題。 SVN還集成到許多編輯器和IDE以及許多錯誤跟蹤和持續集成系統中。

如果您打算組建團隊,或者已經做過,Git值得關注其分支和合並設置。 然而,Git很大程度上仍然是一個年輕人,沒有幾乎可用的支持

如果您想要Visual Studio集成,那么毫無疑問。 只有Subversion具有Visual Studio集成( AnkhSVNVisualSVN和允許訪問TortoiseSVN的幾個腳本)。

Subversion為其編寫了大量工具的最重要原因之一是它被設計為一個供多個客戶端使用的穩定庫。

在git支持作為某種可重用庫提供之前,Git不太可能在Visual Studio中獲得相同級別的集成。 (有一個libgit2計划可以實現這一目標)。

關於這個問題的一個很好的答案是Jack Repenning最近在這里寫的:

  • 如果您對工作的單個,某些主副本有強制要求,請使用Subversion。 你可以用Git做到這一點,只要沒有漏洞。 但是你不能用Subversion做任何其他事情(滑倒或沒有),像薩班斯 - 奧克斯利法這樣的“引人注目的要求”對於保證而不是可能性更快樂。

  • 如果您計划保持同一產品的並行,大部分共享但永久性不同的行,請使用Git。 一個常見的例子:也許你有一個為每個客戶定制的大型產品。 自定義是永久性的,通常不在代碼行之間共享,但大多數代碼對所有代碼都是通用的。 Git就是針對這種情況設計的(用Git術語,對公共核心的本地自定義,以及偶爾的功能或bug修復貢獻備份樹)

  • 這些都沒有? 拿你的選擇,你應該沒有任何工具。 *

完整博客發布在這里: http//blog.codesion.com/post/15692788883/subversion-or-git-decisions-decisions

Git ................................(這些點是因為所以不接受3個字母回答)。

讓我來看看你的問題,然后問:

  1. Git可以在Windows上運行嗎?
  2. 它有與Tortoise相同的東西嗎? (否則我看不出它在易用性方面如何與SVN競爭)

旁注:如果它真的是一個人的家庭項目,你真的不需要任何源代碼控制工具。 只需將您的項目放在DropBox文件夾中即可完成(自動提交,無限修訂,取消刪除)。 除非你真的認為你需要標簽,分支和東西。 但是對於個人住宅項目......你呢?

閱讀本文后,您可以發表自己的看法: http//whygitisbetterthanx.com

根據我的經驗,Subversion更容易“grok”,但Git更快,更容易參與軟件開發最佳實踐。 作為一名前CVS用戶,Subversion在我開始使用它時立即對我有所了解。 Git進行了一些研究,我仍然不得不經常參考手冊,但我喜歡在我需要維護發布過程時分支和合並代碼是多么容易。

如果您已經熟悉CVS並且需要一些東西來保存您的歷史和差異,那么Subversion將更容易開始使用。 如果您不熟悉版本控制,那么潮流一般會轉向DVCS,特別是Git,所以一般來說你可能會獲得更多的里程數。

我建議您查看托管提供商,這樣您就不必擔心設置Subversion服務器,因此您可以擁有Git數據的備份位置。 您可以通過Google進行“ 顛覆托管 ”或“ git托管 ”來查看該領域的主要提供商。

使用SVN,您必須設置服務器,在那里創建存儲庫,檢出(空)存儲庫,添加文件,然后提交。

使用Git,您需要的只是項目根目錄中的git init 然后,您可以根據需要添加和提交文件。

設置Subversion服務器並不是什么好主意,因為你是唯一一個在源上工作的人。 與許多人的想法相反,獨立項目是分布式版本控制工具的完美匹配。 稍后開展項目也很容易。

如果您打算在USB記憶棒上使用項目,請使用Subversion。 Windows XP在USB記憶棒上緩存大量小文件真的非常非常糟糕。 Git為提交操作編寫了許多小文件,這在Windows上需要很長時間。

[編輯] Windows XP的問題和USB記憶棒上的文件是緩存(或缺乏)。 為了防止數據丟失,XP將始終在USB記憶棒上同步寫入文件(因此只有 FS報告所有塊都已寫入記憶棒才會返回任何寫入)。 再加上USB磁盤在處理小文件時速度很慢(它們有很多開銷來初始化它們的磨損級別管理),這導致任何類型的應用程序都會寫很多小文件。

[編輯2]如果你在USB記憶棒上放置一個SVN簽出,你也會有很多小文件(特別是在.svn目錄中)。 所以這種情況下的解決方案是將Subversion存儲庫(“服務器”)放在USB驅動器上。 存儲庫只使用一堆大文件(如果使用數據庫選項而不是基於文件的文件: svnadmin create --fs-type bdb )。 這避免了“許多小文件問題”。 使用當前版本的Git無法實現相同的功能。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM