亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

“下游”和“上游”的定義

“下游”和“上游”的定義

Git
弒天下 2019-05-28 17:21:40
“下游”和“上游”的定義我已經開始玩Git并遇到過“上游”和“下游”這兩個詞。我之前見過這些,但從未完全理解它們。這些術語在SCM(軟件配置管理工具)和源代碼的上下文中意味著什么?
查看完整描述

3 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

在源代碼控制方面,當您從存儲庫復制(克隆,簽出等)時,您處于“ 下游 ”。信息流向“下游”給您。

當您進行更改時,您通常希望將它們發送回“ 上游 ”,以便它們進入該存儲庫,以便從同一來源拉出的每個人都在處理所有相同的更改。這主要是每個人如何協調工作而不是源控制技術要求的社會問題。您希望將更改納入主項目,這樣您就無法跟蹤不同的開發線。

有時您會閱讀有關提交“上游”更改的包或發布經理(人員,而不是工具)。這通常意味著他們必須調整原始來源,以便他們可以為他們的系統創建一個包。他們不想繼續進行這些更改,因此如果他們將它們“上游”發送到原始源,他們就不必在下一個版本中處理相同的問題。


查看完整回答
反對 回復 2019-05-28
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

當您在git tag手冊頁中閱讀時:

git的一個重要方面是它是分布式的,并且分布很大意味著系統中沒有固有的“上游”或“下游”。

,這僅僅意味著沒有絕對的上游回購或下游回購。
這些概念在兩個回購之間總是相對的,取決于數據的流動方式:

如果“yourRepo”已將“otherRepo”聲明為遠程,則

  • 您正在從上游拉 “otherRepo”(“otherRepo”是“上游你”,你是“下游用于 otherRepo”)。

  • 你正推向上游(“otherRepo”仍然是“上游”,現在信息可以回到上游)。

注意“從”和“為”:你不僅僅是“下游”,你是“下游/為 ”,因此相對方面。


DVCS(分布式版本控制系統)扭曲是:你不知道下游實際上是什么,除了你自己的repo相對于你聲明的遠程倉庫。

  • 你知道上游是什么(你正在拉動或推動的回購)

  • 你不知道下游是由什么組成的(另一個回購拉動或推動你的回購)。

基本上:

在“ 數據流 ”方面,您的倉庫位于來自上游回購(“拉出”)并返回(相同或其他)上游回購(“推送到”)的流的底部(“下游”) )。


您可以在git-rebase手冊頁中看到“從上游重新恢復”段落中的插圖:

這意味著你正在從一個發生rebase的“上游”倉庫中撤出,而你(“下游”倉庫)仍然存在后果(許多重復提交,因為上游的分支重新創建了同一分支的提交你在當地)。

這是不好的,因為對于一個“上游”回購,可能有許多下游回購(即從上游回收利用重新分支的回購),所有這些都有可能處理重復提交。

同樣,對于“數據流”類比,在DVCS中,一個壞命令“上游”可以在下游具有“ 波紋效應 ”。


注意:這不僅限于數據。
它也適用于參數,因為git命令(如“瓷器”命令)經常在內部調用其他git命令(“plumbing”命令)。見rev-parse手冊頁

許多git ceramicish命令混合使用標志(即以短劃線開頭的參數-)和參數,這些參數用于git rev-list內部使用的基礎命令,以及它們在下游使用的其他命令的標志和參數git rev-list。此命令用于區分它們。


查看完整回答
反對 回復 2019-05-28
  • 3 回答
  • 0 關注
  • 3813 瀏覽

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號