簡體   English   中英

關注Subversion存儲庫Trunk的最佳實踐:Git(鏡像),Git-Svn,Subversion?

[英]Best Practice for following Subversion repository Trunk: Git (Mirror), Git-Svn, Subversion?

我想簽出,然后根據需要更新Mac OS X Leopard 10.5.5機器上的Django Subversion主干

我只對在Mac上更新Django代碼感興趣。 我對為Django項目提供補丁不感興趣。 我不需要Django主干的Subversion歷史記錄。

我計划將Git用作我所有個人項目的DVCS / SCM。


使用最新的Django主干保持我的Mac更新的最佳做法是什么?為什么?

我是Git的新手,所以理解為什么選擇你的選項會非常有幫助。

  1. 使用我的Mac上安裝的Subversion 1.4.4:svn co http://code.djangoproject.com/svn/django/trunk/ 基本上使用Subversion為我的個人項目獲取Subversion repos和Git。

  2. 使用Git SVN獲取Django Subversion repo 關於如何為Git新手做這個的說明?

  3. 使用Git獲取Django倉庫Git鏡像 我有點擔心鏡子可能會在將來消失,但如果它是最好的選擇,我願意使用它。

如果您不打算對Django代碼進行更改,那么就沒有理由將其導入Git。 只需使用選項1。

如果要對使用Subversion的項目進行本地修改(無論是否將任何修改發送回項目),使用git-svn (通過自己運行或通過克隆其他人的存儲庫)都很有用。 但是如果你沒有進行任何局部修改,那么它就是不必要的復雜性。

好吧,如果你使用git進行所有項目並且你對它很熟悉,我建議使用git鏡像,因為它接縫是合理的最新版本。 Git也應該比使用Subversion更快。 如果鏡子消失/過時,你總是可以通過svn co / svn來獲取當前的源。

但是,由於你也安裝了Subversion - 你也可以使用它而不是......沒有太大的區別,更多的是個人偏好的問題。

Git-svn設置和保持同步更加繁瑣 - 您必須首先使用git svn fetch獲取 subversion更新,然后執行git svn rebase以將更改應用於git存儲庫。 它還會占用更多的磁盤空間。 這有點更容易出錯,如果你真的想在源代碼樹上進行開發,我只建議使用git-svn。 如果您喜歡冒險並且想嘗試一下這本教程 - 我發現使用git-svn非常有用。

遲到總比沒好..也許..我不同意目前的勝利答案。 我會去

  1. 使用Git獲取Django倉庫的Git鏡像

關於反對它的論點: (或想要)對Git感到滿意的人不應該發現它“只是不必要的復雜性”。 注意:對於某些人(不適合我),參數可能對git-svn情況有效。

有些原因吧:

  • 速度

  • 強大的查詢(日志)和可視化(gitk甚至發燒友表兄弟)

  • 大多數情況下磁盤空間更少

  • 二等分 - 例如。 試圖孤立回歸,幫助更好的錯誤報告

  • 一致性 - 如果所有其他項目都在git中

  • 即使您不打算捐款,您也可以更輕松地嘗試本地更改

  • 如果你確實改變主意 - 你仍然可以更接近貢獻

即使鏡像消失,您仍然可以切換到另一個鏡像,無需再次克隆。

順便說一句,目前的鏡像是https://github.com/django/django ,它據說是正式的。

我同意@cjm。 如果您只想要Django源代碼的副本,請使用普通的Subversion。

我對git-svn的經驗是,對於喜歡並且更熟悉Git的人來說,它們最有用的是必須跟蹤Subversion-repository,而對於那些了解Subversion而又對git-newbies想要比顛覆。 由於Subversion具有較差的合並跟蹤,因此git-svn存在一些限制,除非你有一些實質性的git經驗,否則這些限制會有時會跳起來並咬你。

暫無
暫無

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

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