2009-02-11 79 views
5

我應該爲Rails應用使用哪個版本控制系統:Git還是SVN?Git或SVN for Rails應用程序?

這裏有一些因素需要考慮:

  • 我是唯一的開發商
  • 我熟悉SVN
  • 我只用Git的一個星期,似乎很相似SVN真的。
  • 我想將我的存儲庫放在遠程位置,並通過SSH或其他協議(我已經用SVN完成)連接到它。

編輯:謝謝你到目前爲止的響應。 Git似乎更受青睞。它有沒有SSH功能?

+0

Rails與使用SVN或Git的決定有什麼關係? – Robert 2009-02-11 14:07:12

+2

Rails社區已經跳上了Git的潮流,大多數Rails開發者現在都在使用Git。 – 2009-02-11 16:04:20

+0

它具有SSH支持以及其他許多功能:http://www.kernel.org/pub/software/scm/git/docs/git-pull.html#URLS – sebnow 2009-02-13 08:24:48

回答

12

我想說去Git。主要是因爲我有偏見,但也因爲你不需要用Git設置任何類型的服務器,你只需要git init就可以了。它提供了比SVN更多的靈活性和強大的功能。

編輯:這是有點欺騙Why is Git better than Subversion,或至少有關。編輯2:Git有3種主要的通信方式,Git協議,SSH和HTTP。 Github使用SSH進行「推送訪問」,例如[email protected]/user/repo.git。

+1

您無需安裝服務器如果你是唯一的開發者,也可以使用svn,並且你也可以通過ssh使用svn。而且你總是可以通過使用git svn來獲得最好的兩個系統:) – bluebrother 2009-02-11 22:07:47

5

作爲一個已經熟悉SVN的開發人員 - 如果您希望儘可能提高生產力,請使用SVN。

另一方面,如果您真的想學習GIT並且可以多花點時間學習它,請使用GIT。

1

由於您是獨奏者,並且希望將其放在遠程位置:SVN,但您也應該學習/使用Git。你也可以把兩者結合起來,在本地使用Git和SVN作爲遠程服務器。

1

使用某種版本控制可能是一個好主意。對代碼進行遠程備份也可能是一個好主意。

Git和svn都是很好的版本控制解決方案,都在Ruby/Rails社區中很受歡迎。

如果你在一個分佈式開發小組,我建議git可能更合適,因爲它的具體設計目標之一是針對這種情況。

如果你在Windows上,我會暗示說TortoiseSVN可能比msysGit提供的挑戰更少。

大多數情況下,儘管他們似乎都做了類似的工作,並做得很好。

如果您在構建項目時專門要學習新的源代碼管理系統,請參閱git。或者,如果你打算花很多時間在Github上,例如,邊緣Rails,那麼也可以使用git。

否則我會說你應該堅持svn。

4

使用Git,如果沒有其他原因,你可以使用它幾乎完全像SVN(包括通過SSH遠程管理多個分支),它更快,更可靠。本地簽到和分支機構,分佈式版本控制,修訂歷史管理等只是副作用。

根據我的經驗,選擇SVN優於Git的唯一原因是:傳統的SVN存儲庫或在客戶端上使用Windows的要求。

0

我想說沒有特別的區別。

這兩個系統都只是工具,它們都會爲您提供您正在尋找的功能。如果沒有其他參數需要考慮,我會說你已經知道了,並且你不需要時間來學習它。

1

如果你有一天學習Git,那麼學習Git。它具有svn所具有的所有功能,以及便宜的分支/合併,本地提交以及分佈式開發選項。

使用遠程存儲庫很容易。如果你只是尋找某種公共託管,那麼你可能想看看Github,它有免費的公共託管,良好的Ruby集成和許多漂亮的圖表。

0

我想添加一個後續問題:你是單獨工作嗎? Git的GUI工具支持通常落後於Subversion,所以如果這是或可能成爲考慮因素,那麼我會選擇Subversion。例如,如果您的設計人員使用Adobe CS4,他們可以使用其內置的Subversion支持(並且您不必教他們Git)。因此,考慮你團隊當前和未來的構成是決策制定的一個因素。

0

我曾經喜歡git,但最近已經轉向了mercurial。它的語法與git完全一樣,但是用python編寫,並且有很多漂亮的花裏胡哨的東西,比如用於提交視覺跟蹤的web服務器。

我知道這可以使用gitweb爲git設置,但它需要一些工作。

3

我會在評論中回覆,但我還不能。

對於那些不知道的人,Git使用Windows。如果你不喜歡msys的版本,TortoiseGit已經可用。