簡體   English   中英

將svn分支導入git

[英]Importing an svn branch into git

我是git的新手,並且有一個subversion存儲庫,我希望能夠偶爾導入到git存儲庫(用於部署)。 所以我想使用svn執行大多數更新,但是想看看將它推送到git的最佳方式是什么(只是默認/主分支)。

我知道你只想導入svn存儲庫的master / trunk分支,但我想提一下svn2git ,以便將你的svn導入git存儲庫。

它比git svn clone更好,因為如果你在svn中有這個代碼:

  trunk
    ...
  branches
    1.x
    2.x
  tags
    1.0.0
    1.0.1
    1.0.2
    1.1.0
    2.0.0

git-svn將通過提交歷史記錄來構建一個新的git repo。
它將所有分支和標簽導入為遠程svn分支,而你真正想要的是git-native本地分支和git標記對象
因此,在導入此項目后,您將獲得:

  $ git branch
  * master
  $ git branch -a
  * master
    1.x
    2.x
    tags/1.0.0
    tags/1.0.1
    tags/1.0.2
    tags/1.1.0
    tags/2.0.0
    trunk
  $ git tag -l
  [ empty ]

在你的項目完成svn2git后,你會得到這個:

  $ git branch
  * master
    1.x
    2.x
  $ git tag -l
    1.0.0
    1.0.1
    1.0.2
    1.1.0
    2.0.0

最后,它確保master的HEAD與svn repo的當前主干相同。

為什么不在工作站上使用git呢? 那將是最直截了當的。

  • git svn clone將獲取您的SVN存儲庫並將修訂版導入新的git倉庫。
  • 如果您需要推送到遠程git存儲庫進行部署,那么git remote add將為您添加它。
  • 如果你需要回到SVN存儲庫,那么git svn dcommit

簡而言之:

mkdir my_blog_tmp
cd my_blog_tmp
git-svn init http://code.yoursite.net/my_blog/trunk/ --no-metadata
git config svn.authorsfile ~/Desktop/users.txt
git-svn fetch

並祝賀加入我們的gits! 是(ex)svn用戶的一個很好的備忘單。

暫無
暫無

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

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