Heim > Fragen und Antworten > Hauptteil
根据progit上的文档操作的:http://git-scm.com/book/zh/v2/Git-%E4%B8%8E%E5%85%B6%E4%BB%96%E7%B3%BB%E7%BB%9F-%E8%BF%81%E7%A7%BB%E5%88%B0-Git
遇到两个问题:
为了将标签变为合适的 Git 标签,运行
1
2
<code> $ cp -Rf .git/refs/remotes/origin/tags/* .git/refs/tags/
$ rm -Rf .git/refs/remotes/origin/tags</code>
这会使原来在 remotes/origin/tags/ 里的远程分支引用变成真正的(轻量)标签。
接下来,将 refs/remotes 下剩余的引用移动为本地分支:
1
2
<code>$ cp -Rf .git/refs/remotes/* .git/refs/heads/
$ rm -Rf .git/refs/remotes</code>
.git/refs/remotes 现在所有的旧分支都是真正的 Git 分支,并且所有的旧标签都是真正的 Git 标签。
最后一件要做的事情是,将你的新 Git 服务器添加为远程仓库并推送到上面。
但是执行cp的时候发现这个目录并不存在,git branch -r列出来很多原来的
1 2 3 4 5 6 7 8 |
|
然而 .git/refs/remotes/origin/tags 下面并没有文件
参考http://nowing.iteye.com/blog/844608的做法,使用标准命令将branch转成tags
1 2 |
|
最后用git push origin --all
push到git服务器,但是只有主干,没有分支
用git push origin master --tags
有主干和tags,但是也没有分支
最后的最后问题来了,怎么把分支也迁移上去?
世界只因有你2017-05-02 09:25:00
折腾了好久,最后用svn2git解决了
基本思路就是要把remote的branch转成本地branch,再push
svn2git直接搞定了
漂亮男人2017-05-02 09:25:00
1 2 3 4 5 |
|