3 回答

TA貢獻1795條經驗 獲得超7個贊
在源代碼控制方面,當您從存儲庫復制(克隆,簽出等)時,您處于“ 下游 ”。信息流向“下游”給您。
當您進行更改時,您通常希望將它們發送回“ 上游 ”,以便它們進入該存儲庫,以便從同一來源拉出的每個人都在處理所有相同的更改。這主要是每個人如何協調工作而不是源控制技術要求的社會問題。您希望將更改納入主項目,這樣您就無法跟蹤不同的開發線。
有時您會閱讀有關提交“上游”更改的包或發布經理(人員,而不是工具)。這通常意味著他們必須調整原始來源,以便他們可以為他們的系統創建一個包。他們不想繼續進行這些更改,因此如果他們將它們“上游”發送到原始源,他們就不必在下一個版本中處理相同的問題。

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
。此命令用于區分它們。
- 3 回答
- 0 關注
- 3813 瀏覽
添加回答
舉報