一卓的博客

怕什么真理无穷,
进一寸有一寸的欢喜。

0%

Git 如何迁移项目至另一远程仓库并保留提交记录

在 Git 使用过程中,难免会遇到仓库地址发生变更的情况,如果直接将项目拷贝到新的目录,则会丢失以往的所有提交记录,如何能既迁移了仓库又保留以往提交记录呢?

方法有很多,这里简单介绍几种:

以项目名为 demo 举例:

老地址:

新地址:

远程仓库名称: origin

方法一 通过命令直接修改远程地址

1
2
3
4
5
6
cd demo
git remote
git remote set-url origin https://gitlab.yizhuo.com/project/git_demo.git

git remote set-url origin git@gitlab.yizhuo.com:project/git_demo.git
git push

方法二 直接修改配置文件

1
2
cd demo/.git
vi config

config 文件内容如下:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = true
[remote "origin"]
url = git@gitlab.yizhuo.com:project/demo.git
fetch = +refs/heads/*:refs/remotes/origin/*
[branch "master"]
remote = origin
merge = refs/heads/master
[branch "dev"]
remote = origin
merge = refs/heads/dev

修改 [remote "origin"] 下面的 git@gitlab.yizhuo.com:project/demo.gitgit@gitlab.yizhuo.com:project/git_demo.git

然后 git push 即可

方法三 通过第三方 Git 客户端修改

Github Desktop 为例,点击 Repository -> Repository Settings ,更改 remotegit@gitlab.yizhuo.com:project/git_demo.git ,然后推送代码至远程仓库即可

请作者喝杯咖啡吧