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

若是你想从别的 Git 托管服务那里复制一份源代码到新的 Git 托管服务器上的话,能够经过如下步骤来操做。git

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

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

2). 而后到新的 Git 服务器上建立一个新项目,好比 GitCafe。服务器

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

cd project.giturl

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

4). 删除本地代码rem

cd ..it

rm -rf project.gitwebkit

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

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

这种方式能够保留原版本库中的全部内容。

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

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