[英]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的新手,所以理解為什么選擇你的選項會非常有幫助。
使用我的Mac上安裝的Subversion 1.4.4:svn co http://code.djangoproject.com/svn/django/trunk/ 。 基本上使用Subversion為我的個人項目獲取Subversion repos和Git。
使用Git SVN獲取Django Subversion repo 。 關於如何為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非常有用。
遲到總比沒好..也許..我不同意目前的勝利答案。 我會去
- 使用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.