是否可以使用简单命令将 SVN 存储库克隆为 Git 裸存储库?

是否可以使用简单命令将 SVN 存储库克隆为 Git 裸存储库?

我需要克隆一个SVN 存储库作为一个裸 Git 仓库。

目前,我通过以下方式实现了这一目标:

  1. 使用以下方法克隆 SVN 仓库git-svn

    $ git svn clone http://svn.code.sf.net/p/syntaxhighlight/code/
    
  2. 将目录移动.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因为它可以在普通或裸存储库中工作,而无需检出目录。

相关内容