簡體   English   中英

git推送到主節點時會強制本地更新/合並嗎?

[英]Does git force a local update/merge when pushing to master origin?

假設有100個開發人員在同一個項目上工作。

當每個開發人員將他們的變更集推送到中央存儲庫(原始主數據庫)時,他們是否被迫在推送之前本地拉/合並以獲得所有更新?

還是只要它們都在不同的文件上工作並且不需要合並,就不會迫使他們這樣做嗎?

推不執行自動拉。 如果許多開發人員在一個更新的分支上工作,建議他們總是做

git pull --rebase && git push

您所描述的場景是不允許的:當git remote倉庫不是快速轉發時,不允許它們推送到分支。

假設您要推送到分支b 遙控器位於r點。 您的開發人員希望將提交從他的分支bd一直到它的HEAD推送到遠程b如果r不嚴格等於d將不起作用

這是設計使然:如果您被允許這樣做,那么您將破壞其他從事該項目的開發人員的分支,更不用說丟失提交的可能性很高。 開發人員肯定會有他們的本地更新。

簡短的回答:是的,他們必須將要推送到的分支上的任何其他更改取回並合並。

更長的答案:Git故意沒有明智地認為更改是否需要合並到一起:就Git而言, 歷史已經改變,因此樹需要合並客戶端。 值得慶幸的是,在大多數情況下,這就像git pullgit pull --rebase一樣簡單,然后快速檢查一下所做的更改以及一切是否仍然有效。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM