📅  最后修改于: 2023-12-03 15:30:58.573000             🧑  作者: Mango
如果你是一个 Git 新手,你可能已经在使用 Git 了一段时间了,但是你暂时没有想到 Git 中的上游和下游是什么。那么,在本文中,我们将探讨 Git 中的上游和下游。
在 Git 中,上游和下游指的是仓库之间的关系。当你 fork 一个项目时,你的 fork 是一个下游仓库,原始项目是一个上游仓库。如果你在你的 fork 仓库中对代码进行更改,然后发出一个合并请求供上游仓库审查和合并更改。
在开源项目中,上游是官方维护的代码库,也就是 Git 仓库。如果你想参加某个开源项目并为其做出贡献,则需要将上游仓库与自己的仓库建立连接。这样,你就可以从上游仓库中获取新的更新并将其中的更改合并到自己的仓库中。
下游是由上游仓库派生的仓库,如 fork 的仓库。如果你想为一个项目做出贡献,但你没有提交权限,你可以 fork 该项目,然后将你 fork 的仓库中的更改发布到上游仓库。在将来,如果上游仓库中的更新与您 fork 的仓库中的更新不匹配,则需要通过操作自己的仓库来合并上游更新。
以下是关于如何在 Git 中设置上游和下游的示例:
$ git clone https://github.com/upstream/repo.git # 克隆上游仓库
$ cd repo
$ git remote add fork https://github.com/yourusername/repo.git # 添加下游仓库
现在,你已经成功的将上游和下游仓库连接起来了。你可以从上游仓库中获取更新:
$ git fetch upstream # 获取上游更新
或者将更改合并到自己的代码库中:
$ git merge upstream/master # 将上游更新合并到自己的代码库中
当本地仓库要推送到下游仓库时,需要在本地修改后执行 push 操作:
$ git push fork feature-branch # 将更改推送到下游仓库
在 Git 中,上游和下游是指 Git 仓库之间的关系。上游仓库是原始的,官方的代码库,下游仓库是派生的,用户的副本。如果你要为开源项目做出贡献,你需要将上游仓库与自己的仓库建立连接。这将使您可以获得新的更改并将您自己的更改合并到上游仓库中。