将分支从svn移动到git
我在SVN中有2个分支-trunk和release(trunk中的分支)。 目的是将它们迁移到GIT中的单个存储库中将分支从svn移动到git,git,bitbucket,git-svn,Git,Bitbucket,Git Svn,我在SVN中有2个分支-trunk和release(trunk中的分支)。 目的是将它们迁移到GIT中的单个存储库中 SVN(trunk)----->GIT(master) SVN(release)---->GIT(release) - where GIT(release) has been branched from GIT(master) 此后,我们每天刷新相应的SVN source->GIT destination分支,以获得一个临时的迁移窗口 这可能吗? 如果是这样,如何实
SVN(trunk)----->GIT(master)
SVN(release)---->GIT(release) - where GIT(release) has been branched from GIT(master)
此后,我们每天刷新相应的SVN source->GIT destination分支,以获得一个临时的迁移窗口
这可能吗?如果是这样,如何实现这一点?首先,对您的svn存储库进行一次(或两次)备份 然后,安装。关于MacOS:
brew install ruby
gem install svn2git
或者在Debian上:
sudo apt-get install git-core git-svn ruby
sudo gem install svn2git
然后(可选但推荐)列出svn存储库中的所有作者:
svn log --quiet \
| grep -E "r[0-9]+ \| .+ \|" \
| cut -d'|' -f2 \
| sed 's/ //g' \
| sort \
| uniq
并创建一个文件,将svn作者映射到要在git中使用的帐户
运行svn2git
:
mkdir new-git-repos
cd new-git-repos
svn2git path-to-svn-repos --no-minimize-url --authors path-to-authors.txt
验证新的git存储库(git log
,git tag
,git branch-a
,等等),必要时重命名分支和标记,并可以选择将新的repo推送到服务器
有关更多配方,请参见svn2git。如果您有权访问svn主存储库,并且在转换为git之前需要应用更复杂的提交历史重写,请使用此选项。首先,对svn存储库进行一次(或两次)备份
然后,安装。关于MacOS:
brew install ruby
gem install svn2git
或者在Debian上:
sudo apt-get install git-core git-svn ruby
sudo gem install svn2git
然后(可选但推荐)列出svn存储库中的所有作者:
svn log --quiet \
| grep -E "r[0-9]+ \| .+ \|" \
| cut -d'|' -f2 \
| sed 's/ //g' \
| sort \
| uniq
并创建一个文件,将svn作者映射到要在git中使用的帐户
运行svn2git
:
mkdir new-git-repos
cd new-git-repos
svn2git path-to-svn-repos --no-minimize-url --authors path-to-authors.txt
验证新的git存储库(git log
,git tag
,git branch-a
,等等),必要时重命名分支和标记,并可以选择将新的repo推送到服务器
有关更多配方,请参见svn2git。如果您有权访问svn主存储库,并且在转换为git之前需要对提交历史记录进行更复杂的重写,请使用此选项。是否查看?是否可能重复?是否要接受答案?是否查看?是否可能重复?是否要接受答案?