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仓库迁移而不丢失log的方法 要求能保留原先的commit记录,应该如何迁移呢? 同时,本地已经clone了原仓库,要配置成新的仓库地址,该如何修改呢?
Git仓库迁移而不丢失log的方法 要求能保留原先的commit记录,应该如何迁移呢? 同时,本地已经clone了原仓库,要配置成新的仓库地址,该如何修改呢? 注意:如果使用了代码审核工具Gerrit,那么在进行操作之前...
这里的`--no-metadata`选项用于避免导入不必要的SVN元数据,`--authors-file`指定了之前创建的账号映射文件,而`你自定义的项目名`是你希望在本地创建的Git仓库名称。 当`git svn clone`命令执行完毕,你的SVN项目...
创建一个临时目录,并在此目录下初始化一个新的Git仓库,同时指定SVN的URL,使用`--no-metadata`选项避免导入不必要的SVN元数据。例如: ``` mkdir temp cd temp git svn init --no-metadata ...
- **维护及数据恢复**:保持Git仓库健康,恢复丢失的数据。 通过以上概述,可以看出《Git使用手册中文版》全面地介绍了Git的基本概念、使用方法、高级特性以及内部机制等内容。无论是初学者还是经验丰富的开发者,...
- **Git守护进程**:提供一个轻量级的服务端,支持通过网络访问Git仓库。 - **Git托管服务**: - **GitHub**:最流行的在线Git托管平台之一,提供了丰富的功能和支持。 - **建立新账户**:注册GitHub账户。 - **...
**获取Git仓库**:在第3章中,读者将学习如何创建一个新的Git仓库或从现有的Git仓库克隆一个副本。 **记录更改至仓库**:这部分讲解了如何使用`git add`和`git commit`命令来添加和提交更改,这是Git中最基础也是最...
### Git学习手册知识点详解 #### 一、Git简介与历史 - **版本控制系统的重要性:** 版本控制系统是软件开发中不可或缺的一部分,它允许开发者跟踪文件的变化,并且可以在需要时回退到以前的... - **导入Git仓库:** ...
- 将一个Git仓库的子目录作为一个整体嵌入另一个仓库中:`git subtree add --prefix=<path> <repository-url> <branch>` #### 八、Git自定义配置 **1. Git配置:** - 设置全局或本地配置:`git config --global ...
4. **初始化Git仓库**:在本地为项目创建一个新的Git仓库,并将SVN备份的文件添加进去。利用Python的`git`库,你可以创建初始提交并设置作者信息。 5. **映射SVN提交到Git**:遍历解析出的SVN提交历史,为每个提交...
至于压缩包子文件"rust_book_ru-master",通常表明这是一个从Git仓库克隆下来的项目,"master"分支代表了项目的主分支,可能包含项目的基础代码和文档。用户需要解压这个文件,然后使用Git命令行工具来查看项目内容...
- **只跟踪文件,不跟踪目录:** Mercurial默认只跟踪文件而不跟踪目录。 **5.2 如何停止跟踪文件** - **删除文件不影响历史:** 删除文件不会影响到历史记录,可以通过`hg forget`命令停止对文件的跟踪。 - **...