高阶-多远程管理
前置知识:
Fork仓库拉取上游更新
一般我们使用git的时候只会涉及一个默认分支origin
,它指向了我们的GitHub
仓库。出现多个remote的情况有可能是我们通过fork创建了一个新的仓库,同时我们需要从上游仓库不断地拉取更新到我们的分支,保持同步。我们以这种典型情况为线索,介绍多远程的管理。
假设我们的上游仓库为
而我们fork出的仓库为
我们先对fork仓库进行clone:
这时候的默认remote为origin,origin的地址为https://github.com/zhangsan/wiki
,可以通过以下命令确认:
为了让git能够知道我们还有一个远程仓库,我们添加一个叫upstream
的remote:
然后我们从upstream
更新信息:
这时候upstream
的所有分支都会被放到upstream/*
下。假设我们对main
提交了一些更改之后,原仓库也更新了,我们通过以下命令把原仓库的更改添加到我们的更改上:
这一操作也可以通过GitHub网页完成。
两仓库保持同步
GitHub的仓库可能访问速度较慢,服务器上面无法连接,我们可以用一些国内的服务来托管我们的代码,比如gitee或清华git。不过,我们会想要保持两边的仓库同步。
从一个远程repo1
下载branch1
的更新到本地branch2
:
从本地的branch2
推送更新到repo2
的branch3
:
下一项工作是?
没有啦!