Rez*_*aee 8 svn migration git git-svn
是的我知道.你为什么要从Git迁移到SVN?
好吧,我碰巧遇到需要将巨大的Git仓库迁移到Subversion的情况!根据Edwin的评论,这是我尝试过的一个工作流程:
首先创建一个本地SVN repo:
svnadmin create svn_repo
接下来我看看我的Git回购:
git clone git:myNameSpace/myProject
cd进入myProject并运行:
git svn init -s --prefix=svn/ file:///home/myHome/svn_repo/myProject
git svn fetch
git rev-list --parents master | grep '^.\{40\}$' 查找根提交的哈希值,并且只提供一个提交.
接下来是获取空主干提交的哈希值:
git rev-parse svn/trunk
不幸的是,这个失败了:
fatal: ambiguous argument 'svn/trunk': unknown revision or path not in the working tree.
Use '--' to separate paths from revisions
好吧,我不能在这之后走多远....
我建议您通过几个简单的步骤将其迁移到SubGit.
$ svnadmin create svn.repo
$ subgit configure svn.repo
$ nano svn.repo/conf/subgit.conf #edit path to your (bare!) Git repository (you may use "git clone --bare <URL> bare.git.repo" if you don't have it locally)
$ subgit install
Run Code Online (Sandbox Code Playgroud)
就这样.虽然翻译SubGit将尽可能保留所有提交(甚至临时),分支,合并,忽略,日期,EOL设置,标签等.
翻译后,存储库将同步(每次推送到Git都会转换为SVN版本,反之亦然).打破同步(如果你不需要它)运行
$ subgit uninstall svn.repo
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9148 次 |
| 最近记录: |