1、在项目中有两个或多个remote,如何删除多余的remote

$ git remote -v
FlywayDemo git@gitee.com:Mr.bai/Flyway_demo_test.git (fetch)
FlywayDemo git@gitee.com:Mr.bai/Flyway_demo_test.git (push)
origin git@gitee.com:Mr.bai/Flyway_demo.git (fetch)
origin git@gitee.com:Mr.bai/Flyway_demo.git (push)

删除其中指定的FlywayDemo,方法为:

git remote remove <name>

删除remote的命令中remove可以缩写为rm:

git remote rm <name>

执行命令后,再次查看remote:

$ git remote remove FlywayDemo

$ git remote -v
origin  git@gitee.com:Mr.bai/Flyway_demo.git (fetch)
origin  git@gitee.com:Mr.bai/Flyway_demo.git (push)

 

扩展:

1、添加remote远程仓库地址的命令:

git remote add <name> <url>

例子:

$ git remote add origin git@gitee.com:Mr.bai/Flyway_demo.git

2、修改remote更换远程仓库地址命令,把<URL>更换为新的url地址的:

git remote set-url <name> <URL>

例子:

git remote set-url remote git@gitee.com:Mr.bai/Flyway_demo_test.git

还可以通过编辑config配置来修改remote远程仓库地址。config在.get目录下(.git目录为隐藏目录)。

有时候我们可能想要把本地的git库,既push到github上,又push到开源中国的Git@OSC上,怎么解决呢。 有人可能会用两个甚至多个远程库,即再添加一个远程库git remote add origin2;
这个方法很低效,因为你要git push 两次才能完成push到两个库。其实还有一个方法就可以搞定这个问题,git的一个远程库 可以对应多个地址,即我能让 远程库origin拥有多个url地址。

假设我现在要增加2个远程库地址,分别为:

git@gitee.com:Mr.bai/Flyway_demo2.git

git@gitee.com:Mr.bai/Flyway_demo3.git

由于刚刚已经添加过一个远程库了,所以现在直接添加第二个远程库git remote set-url --add origin git@gitee.com:Mr.bai/Flyway_demo2.git

添加第三个远程库git remote set-url --add origin git@gitee.com:Mr.bai/Flyway_demo3.git

如果还有多个,依次类推继续添加就是 git remote set-url --add origin <url>

操作完成后我们再次查看remote信息:

$ git remote set-url --add origin git@gitee.com:Mr.bai/Flyway_demo2.git

$ git remote set-url --add origin git@gitee.com:Mr.bai/Flyway_demo3.git

$ git remote -v
origin  git@gitee.com:Mr.bai/Flyway_demo.git (fetch)
origin  git@gitee.com:Mr.bai/Flyway_demo.git (push)
origin  git@gitee.com:Mr.bai/Flyway_demo2.git (push)
origin  git@gitee.com:Mr.bai/Flyway_demo3.git (push)

git remote set-url --add origin 就是往当前git项目的config文件里增加一行记录,每执行一次git remote set-url --add origin 就会增加一行。我们也可以使用git config -e 来打开config文件进行手动编辑:

所以说,可以直接在config里面直接添加url来修改也是可以的,不必去执行git命令。

有几点需要注意:

使用git push origin master时,你可以push到origin的多个url地址,但是使用 git pull时,只能拉取origin里的一个url地址,这个fetch-url默认为你添加的到origin的第一个地址,如果你想更改,只需要更改config文件里那三个url的顺序即可,fetch-url会直接对应排行第一的那个url连接。

 

标签: Git, 删除remote, git删除remote

添加新评论