推荐第二种方法:
(一)如果你想从别的 Git 托管服务那里复制一份源代码到新的 Git 托管服务器上的话,可以通过以下步骤来操作。
-
从原地址克隆一份裸版本库,比如原本托管于 GitHub。
git clone --bare git://github.com/username/project.git
-
然后到新的 Git 服务器上创建一个新项目,比如 GitCafe。
-
以镜像推送的方式上传代码到 GitCafe 服务器上。
cd project.git
git push --mirror git@gitcafe.com/username/newproject.git
-
删除本地代码
cd …
rm -rf project.git
-
到新服务器 GitCafe 上找到 Clone 地址,直接 Clone 到本地就可以了。
git clone git@gitcafe.com/username/newproject.git
这种方式可以保留原版本库中的所有内容。
提交前要删除本地remotes中的分支引用,这样就不会将remotes里面的远程分支也推到服务器上去:
(二)另外还可以直接修改当前仓库的远程地址,然后push一下就能将历史都提交上去:
- 先克隆老项目的镜像
git clone --mirror old.git (old.git 为老项目的git地址)
- 进入老项目的目录
cd old.git
- 移除老项目的地址替换成新项目
git remote set-url --push origin new.git (new.git 为新项目的git地址)
- 将镜像推到远程
git push --mirror //这一步需要输入新的git的账号和密码
-
如果提交遇到权限问题,可以反问该网站