转换SVN结帐以使用git(git-svn)

Jac*_*hin 31 svn git git-svn git-checkout svn-checkout

我使用svn中保存的软件进行版本控制.我想使用git(git-svn),但软件需要大量的设置和配置才能使用.有一些工具可以处理所有设置,包括通过svn检出所有代码.

git-svn的所有文档(我已经能够找到)需要使用git-svn进行新的检查.

有没有办法转换现有的svn结账,以便它可以使用git-svn?

sin*_*yma 14

没有.git-svn克隆将整个存储库转换为git.SVN签出没有整个存储库,因此无法克隆.这是从SVN或CVS切换到分布式系统(如git)的主要优势.

  • 这不是git的工作方式.DVCS是"分布式的",因为每个克隆都是存储库的完整副本.这就是重点. (3认同)

and*_*ndy 11

你可以这样做:

  1. 使用git-svn将SVN树的完整克隆复制到临时目录.确保使用与现有结帐完全相同的修订版.
  2. 将".git"文件夹从git-svn checkout的顶层移动到SVN checkout的顶层.
  3. 然后你要么告诉Git忽略".svn"目录,要么你可以全部删除它们.
  4. 删除git-svn checkout.
  5. 现在,您可以使用Git和git-svn操作现有文件.
  6. 做一个"git status"并希望它说没有变化.

  • 有没有办法实现这一点而无需访问svn回购?我目前无法访问回购,我所拥有的只是上次修订版中未经修改的工作副本.我希望也许git svn fetch -r N,N是我工作副本的修订版,可能会以某种方式被说服使用工作副本的内容来获取所需的信息...... (3认同)