准备更换git托管,如何迁移原git仓库

要求能保留原先的commit记录,应该如何迁移呢?
同时,本地已经clone了原仓库,要配置成新的仓库地址,该如何修改呢?

阅读 47.3k
评论 2012-10-04 提问
    7 个回答

    先查看remote的名字

    git branch -r

    假设你的remote是origin,用git remote set_url 更换地址

    git remote set-url origin remote_git_address

    remote_git_address更换成你的新的仓库地址

    评论 赞赏 2012-10-04
      riku
      • 176

      如果你想从别的 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
      

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

      评论 赞赏 2014-02-20
        git commit -m "Change repo." # 先把所有为保存的修改打包为一个commit
        git remote remove origin # 删掉原来git源
        git remote add origin [YOUR NEW .GIT URL] # 将新源地址写入本地版本库配置文件
        git push -u origin master # 提交所有代码
        
        评论 赞赏 2014-08-13

          保证你本地库是最新的,push到新的remote就行了。。。

          git是分布式的,每个版本库都是可以做server的。。。

          评论 赞赏 2012-10-04
            G_will
            • 107

            整理一条分支出来,然后把分支提出来做新的库。

            评论 赞赏 2012-10-04
              jiaion
              • 0
              • 新人请关照

              赞4楼 ,非常方便。所有得tag和branch都在

              该答案已被忽略,原因:

              评论 赞赏 2013-06-13

                为什么不尝试直接打包整个目录,去新机器上解压。
                环境权限一致,就好。

                该答案已被忽略,原因:

                评论 赞赏 2016-07-22
                  撰写回答

                  登录后参与交流、获取后续更新提醒