前段时间,我们团队的 git 仓库需要迁移到新的地址,有团队小伙伴是这么操作的
- 找一个新目录,
git clone
新的仓库地址 - 将现有的本地项目文件复制到这个新目录中
- 执行
git add .
andgit commit -m "init"
- 然后 push 到新的仓库地址
但是这样做有一个问题,就是迁移到新的仓库后,你之前的历史记录都没有了,有没有一个办法可以解决这个问题呢,答案是肯定的,我们应该这么做
- 在现有项目的根目录下运行如下代码
bash
git remote add other http://xxxx/yyy/zzz.git
其中上面的地址,是你的新的仓库的远程地址
- 假设你现在的分支是
main
,你需要执行如下代码
bash
git push other main
- 如果你有其他分支,你可以切换分支后,执行同样的操作
bash
git checkout dev
git push other dev
- 这个时候,你可以删除之前的仓库地址
bash
git remote rm origin
现在你的远程仓库就替换好了,当你打开你的远程仓库的时候,就可以看到你的历史提交都还在,多么巴适啊
知识点
我们平时用的远程仓库名一般命名为 origin ,其实他可以命名为其他名字,它就跟变量一样,只是一个标识符,完全可以换成另外一个