需求描述
将本地代码的远程仓库切换成新的地址,同时要保留老的提交记录。以便排查问题。
操作步骤
在网上搜了很久一直没发现很好的办法。后来才发现原来在git服务器上新建空白项目时,下方会直接给出切换远程服务器的命令。同时也会给出将未关联远程仓库的代码提交到远程仓库的办法。唉,只怪自己一直习惯于图形化界面,对git的命令生疏了。o(╯□╰)o
下面给出操作步骤。
在git服务器上新建一个空白项目,写好项目名和地址。如下图:
下方会直接给出三组命令指引:
其中最下方的就是如果当前代码目录已经关联git仓库的怎么切换到新的git地址。我把命令复制在下面。其中第2个和第3个我已经亲测可用。
#创建一个新仓库
git clone http://git.internal.purvar.com:7443/agile/TestProject.git
cd TestProject
git switch -c main
touch README.md
git add README.md
git commit -m "add README"
git push -u origin main
#推送现有文件夹。适用于当前目录还没关联远程仓库。
cd existing_folder
git init --initial-branch=main
git remote add origin http://git.internal.purvar.com:7443/agile/TestProject.git
git add .
git commit -m "Initial commit"
git push -u origin main
#推送现有的 Git 仓库。适用于当前目录已经关联过远程仓库,现在要切换。
cd existing_repo
git remote rename origin old-origin
git remote add origin http://git.internal.purvar.com:7443/agile/TestProject.git
git push -u origin --all
git push -u origin --tags