Git仓库完整迁移 含历史记录

来源:互联网 发布:c语言创建窗口程序 编辑:程序博客网 时间:2024/05/05 22:36

如果你想从别的 Git 托管服务那里复制一份源代码到新的 Git 托管服务器上的话,可以通过以下步骤来操作。

1). 从原地址克隆一份裸版本库,比如原本托管于 GitHub。

git clone –bare git://github.com/username/project.git

2). 然后到新的 Git 服务器上创建一个新项目,比如 GitCafe。

3). 以镜像推送的方式上传代码到 GitCafe 服务器上。

cd project.git

git push –mirror git@gitcafe.com/username/newproject.git

4). 删除本地代码

cd ..

rm -rf project.git

5). 到新服务器 GitCafe 上找到 Clone 地址,直接 Clone 到本地就可以了。

git clone git@gitcafe.com/username/newproject.git

这种方式可以保留原版本库中的所有内容。

提交前要删除本地remotes中的分支引用,这样就不会将remotes里面的远程分支也推到服务器上去:

另外还可以直接修改当前仓库的远程地址,然后push一下就能将历史都提交上去: git remote set-url origin remote_git_address

2 0