目录标题
[Q&A] 什么是 Upstream-Repo?
upstream
的译为“上游
”。当你 git clone
一个别人的 Repository 到本地,由于你不是该仓库的成员,因此你是无法向该仓库推送代码的,只能通过 Pull Request
(源自) 的方式。 此时,相较于本地仓库,别人的这个 Repository 称为 upstream
。可以将这个别人的仓库称为 Upstream-Repo。
[Q&A] 什么是 Origin-Repo?
我们 fork
这个 Repository 到自己 GitHub 账号下,然后通过 git clone
将这个 Fork 出来的仓库clone到本地电脑上 , git 会默认创建一个 origin
的别名指向 Fork 出来的仓库。可以将这个 Fork 出来的仓库称为 Origin-Repo。
Upstream-Repo
和 Origin-Repo
,大致关系如图所示(源自),其中 Upstream-Repo 对应图中的 Original,Origin-Repo 对应图中 Fork。
如何跟踪 Upstream-Repo 仓库的变更?
git remote add upstream <upstream-repo-address> 添加别名 upstream 指向 Upstream-Repo
git fetch upstream 获取 Upstream-Repo 的变更
git merge upstream/main 可以通过 merge 或 rebase 方式合并到本地分支中
如何把 项目 同时托管到 github,gitlab,gitee
由于一个本地仓库是可以关联多个远程仓库
的,因此,可以设置多个「别名
」分别指向不同的远程仓库
(比如一个 GitHub、一个 GitLab、一个 Gitee),然后通过别名的方式方便、快速地拉取
某个远程仓库的代码或者将代码推送
至某个远程仓库。
git remote add github git@github.com:toFrankie/repo-demo.git 添加 github 别名
git remote add gitlab git@gitlab.com:toFrankie/repo-demo.git 添加 gitlab 别名
git remote add gitee git@gitee.com:toFrankie/repo-demo.git 添加 gitee 别名