我已经开始使用 Git,并且遇到了“上游”和“下游”这两个术语。我以前见过这些,但从未完全理解它们。这些术语在 SCM(软件配置管理工具)和源代码的上下文中是什么意思?
在源代码控制方面,当您从存储库复制(克隆、签出等)时,您处于下游。信息“顺流而下”地流向你。
当您进行更改时,您通常希望将它们发送回“上游”,以便它们进入该存储库,以便从同一来源提取的每个人都可以处理所有相同的更改。这主要是每个人如何协调工作的社会问题,而不是源代码控制的技术要求。您希望将您的更改纳入主项目,这样您就不会跟踪不同的开发线。
有时您会读到有关将更改提交到“上游”的包或发布经理(人,而不是工具)。这通常意味着他们必须调整原始资源,以便为他们的系统创建一个包。他们不想继续进行这些更改,因此如果他们将它们“上游”发送到原始源,他们不应该在下一个版本中处理相同的问题。