当我没有svn凭证时,如何将svn存储库导出到git?

Pra*_*tha 4 svn git github git-svn

我在一个文件夹中完整地检查了svn存储库.但我没有svn存储库的凭据(托管在Unfuddle中).我想将此文件夹移动到新的git repostitory(Github),其所有历史记录和更改都完好无损.如果可能的话,我想保留通讯员.如何将我现有的svn文件夹导出到Github?

mem*_*ech 9

SVN签出不包括它自己的历史记录,因此您所能做的就是将其视为一组正常的文件.

git init newgit
svn export yourcheckout newgit
git commit -a newgit
Run Code Online (Sandbox Code Playgroud)

svn export将复制除隐藏的.svn目录之外的所有文件.git commit -a将递归添加所有内容以更改控件并提交它.当然,系统会提示您输入提交备注.

要将其发布到github,首先在github上创建一个帐户,然后转到此处创建一个存储库:

http://help.github.com/create-a-repo/

假设您称之为测试,而您的帐户是prabesh,所以它的全名是

git@github.com:prabesh/test.git
Run Code Online (Sandbox Code Playgroud)

创建存储库时,github上会显示要执行的操作的完整详细信息,但是一旦您的存储库存在,您可以通过注册远程(github)存储库并将本地副本推送到github来上传本地svn导出的git存储库.它:

git remote add origin git@github.com:prabesh/test.git
git push -u origin master
Run Code Online (Sandbox Code Playgroud)

  • 当然,您可以联系Unfuddle来恢复凭据吗?如果你能做到这一点,那么你可以使用`git-svn` - 一个git的附加组件,它允许你导入你的SVN仓库,包括它的历史记录.你将能够执行`git svn clone svnrepo`. (2认同)