[英]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 remote add
將為您添加它。 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.