当更改新的 git 仓库地址时,不要着急执行 clone 应该先运行这个

前段时间,我们团队的 git 仓库需要迁移到新的地址,有团队小伙伴是这么操作的

  • 找一个新目录,git clone 新的仓库地址
  • 将现有的本地项目文件复制到这个新目录中
  • 执行 git add . and git 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 ,其实他可以命名为其他名字,它就跟变量一样,只是一个标识符,完全可以换成另外一个

相关推荐
TeleostNaCl4 小时前
OpenWrt 编译 | 一种使用 git submodule 方式实现一键更新多个外部软件包
网络·经验分享·git·智能路由器
Cosmoshhhyyy18 小时前
mac环境下安装git并配置密钥等
git·macos
yuwei02118 小时前
git大全解
git
小林的技术分享1 天前
版本控制系统-Git 学习 《progit》电子书学习记录 第一章 (仅隔个人学习记录用)
git
weixin_456904271 天前
Git登录配置的详细方法
git
鄃鳕1 天前
Git , 本地落后远端
git
Yusei_05231 天前
迅速掌握Git通用指令
大数据·git·elasticsearch
qq_377572772 天前
git commit - revert + reset + checkout + reorder
git
2301_767233222 天前
Git使用和理解上的一些问题
git
nyf_unknown2 天前
(vue)将文件夹打成tar包, Git Bash(推荐)具体使用
vue.js·git·bash