`
fantaxy025025
  • 浏览: 1328360 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类

Git仓库迁移而不丢失log的方法

 
阅读更多

Git仓库迁移而不丢失log的方法

 

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

 

#1 建立新仓库

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

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

 

#切换remote_url

先查看remote的名字

git branch -r

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

git remote set-url origin remote_git_address

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

第二种切换remote_url的方法更直接,直接更改.git/conf配置文件里的ip地址就行。

 

分享到:
评论

相关推荐

    git仓库迁移.txt

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

    详解git仓库迁移的两种解决方案

    Git仓库迁移而不丢失log的方法 要求能保留原先的commit记录,应该如何迁移呢? 同时,本地已经clone了原仓库,要配置成新的仓库地址,该如何修改呢? 注意:如果使用了代码审核工具Gerrit,那么在进行操作之前...

    如何将SVN项目迁移至Git

    这里的`--no-metadata`选项用于避免导入不必要的SVN元数据,`--authors-file`指定了之前创建的账号映射文件,而`你自定义的项目名`是你希望在本地创建的Git仓库名称。 当`git svn clone`命令执行完毕,你的SVN项目...

    SVN项目迁移至git,完整版.docx

    创建一个临时目录,并在此目录下初始化一个新的Git仓库,同时指定SVN的URL,使用`--no-metadata`选项避免导入不必要的SVN元数据。例如: ``` mkdir temp cd temp git svn init --no-metadata ...

    Git使用手册中文版

    - **维护及数据恢复**:保持Git仓库健康,恢复丢失的数据。 通过以上概述,可以看出《Git使用手册中文版》全面地介绍了Git的基本概念、使用方法、高级特性以及内部机制等内容。无论是初学者还是经验丰富的开发者,...

    git详解-PDF

    - **Git守护进程**:提供一个轻量级的服务端,支持通过网络访问Git仓库。 - **Git托管服务**: - **GitHub**:最流行的在线Git托管平台之一,提供了丰富的功能和支持。 - **建立新账户**:注册GitHub账户。 - **...

    pro git 英文版

    **获取Git仓库**:在第3章中,读者将学习如何创建一个新的Git仓库或从现有的Git仓库克隆一个副本。 **记录更改至仓库**:这部分讲解了如何使用`git add`和`git commit`命令来添加和提交更改,这是Git中最基础也是最...

    Git学习手册

    ### Git学习手册知识点详解 #### 一、Git简介与历史 - **版本控制系统的重要性:** 版本控制系统是软件开发中不可或缺的一部分,它允许开发者跟踪文件的变化,并且可以在需要时回退到以前的... - **导入Git仓库:** ...

    Pro Git pdf

    - 将一个Git仓库的子目录作为一个整体嵌入另一个仓库中:`git subtree add --prefix=<path> <repository-url> <branch>` #### 八、Git自定义配置 **1. Git配置:** - 设置全局或本地配置:`git config --global ...

    使用自动化从Assembla迁移到Github

    4. **初始化Git仓库**:在本地为项目创建一个新的Git仓库,并将SVN备份的文件添加进去。利用Python的`git`库,你可以创建初始提交并设置作者信息。 5. **映射SVN提交到Git**:遍历解析出的SVN提交历史,为每个提交...

    rust_book_ru:存储库已移动

    至于压缩包子文件"rust_book_ru-master",通常表明这是一个从Git仓库克隆下来的项目,"master"分支代表了项目的主分支,可能包含项目的基础代码和文档。用户需要解压这个文件,然后使用Git命令行工具来查看项目内容...

    Mercurial 權威指南

    - **只跟踪文件,不跟踪目录:** Mercurial默认只跟踪文件而不跟踪目录。 **5.2 如何停止跟踪文件** - **删除文件不影响历史:** 删除文件不会影响到历史记录,可以通过`hg forget`命令停止对文件的跟踪。 - **...

Global site tag (gtag.js) - Google Analytics