Git如何将本地仓库同时推送到多个远程仓库

1,049 阅读2分钟

为了能在任意 Git 项目上协作,你需要知道如何管理自己的远程仓库。 远程仓库是指托管在因特网或其他网络中的你的项目的版本库。 你可以有好几个远程仓库,通常有些仓库对你只读,有些则可以读写。 与他人协作涉及管理远程仓库以及根据需要推送或拉取数据。 管理远程仓库包括了解如何添加远程仓库、移除无效的远程仓库、管理不同的远程分支并定义它们是否被跟踪等等。 在本节中,我们将介绍一部分远程管理的技能。

1、添加多个远程仓库

要为一个git本地仓库添加多个远程仓库,可以使用以下命令:

$ git remote add <仓库名1> <url1>
$ git remote add <仓库名2> <url2>

其中,<仓库名1><仓库名2> 是你希望给这两个远程仓库取的别名,<url1><url2> 则是这两个远程仓库的URL。

例如,要给一个本地仓库添加名为"origin"和名为"github"的两个远程仓库,可以使用以下命令:

$ git remote add origin git@github.com:username/repo.git
$ git remote add github git@github.com:username/repo.git

这样,你就可以使用以下命令推送到指定的远程仓库:

$ git push origin <分支名>
$ git push github <分支名>

2、将本地分支推送远程分支

如果你已经给本地仓库添加了多个远程仓库,可以使用以下命令切换分支并将代码推送到特定的远程仓库:

$ git push <远程仓库名> <本地分支>:<远程分支>

其中,<远程仓库名> 是你希望推送到的远程仓库的别名,<本地分支> 是你希望推送的本地分支名称,<远程分支> 是你希望该分支在远程仓库中所对应的分支名称。

例如,如果你想要将本地仓库的dev分支推送到远程仓库originmain分支,可以使用以下命令:

$ git push origin dev:main

同样,如果你想要将本地仓库的dev分支推送到远程仓库githubdev分支,可以使用以下命令:

$ git push github dev:dev

这样就可以成功切换分支并将代码推送到指定的远程仓库了。

3、移除远程仓库

如果你想要移除一个远程仓库的关联,可以使用以下命令:

$ git remote rm <仓库名>

其中,<仓库名> 是你想要取消关联的远程仓库的别名。

例如,如果你想要取消本地仓库与名为github的远程仓库的关联,可以使用以下命令:

$ git remote rm github

这样就可以成功取消本地仓库与该远程仓库的关联了。