我需要克隆一个SVN 存储库作为一个裸 Git 仓库。
目前,我通过以下方式实现了这一目标:
使用以下方法克隆 SVN 仓库
git-svn
:$ git svn clone http://svn.code.sf.net/p/syntaxhighlight/code/
将目录移动
.git
到所需位置:$ mv code/.git /srv/git/syntaxhighlight
但我发现这真的不太方便,而且我看不到任何关于bare
何时使用的参考man git svn
。此外,如果 SVN 存储库已更新,我可以运行git svn fetch
,但尝试重新定基时会收到错误。
任何选择都可以解决问题吗?
理想情况下,我希望有一个类似于git clone --mirror
。
运行 Git 2.1.4
答案1
.git
将目录移动到所需位置后,您错过了执行以下操作:
$ rm -rf code # you might want to get rid of the check-out
$ cd /srv/git/syntaxhighlight
$ git config --bool core.bare true
我发现了以下 Stackoverflow 问题如何将普通 Git 存储库转换为裸存储库?提供回答解决您的问题。
对于您的问题git svn rebase
:我无法想到git rebase
在裸存储库上使用。我只在普通的 git 存储库上使用它。所以我认为同样适用于git svn rebase
。
git svn fetch
因为它可以在普通或裸存储库中工作,而无需检出目录。