![](/img/trans.png)
[英]On local GIT, how to merge master with origin/master when local master is ahead or on separate branch compared to origin/master?
[英]Does git force a local update/merge when pushing to master origin?
假設有100個開發人員在同一個項目上工作。
當每個開發人員將他們的變更集推送到中央存儲庫(原始主數據庫)時,他們是否被迫在推送之前本地拉/合並以獲得所有更新?
還是只要它們都在不同的文件上工作並且不需要合並,就不會迫使他們這樣做嗎?
推不執行自動拉。 如果許多開發人員在一個更新的分支上工作,建議他們總是做
git pull --rebase && git push
您所描述的場景是不允許的:當git remote倉庫不是快速轉發時,不允許它們推送到分支。
假設您要推送到分支b
。 遙控器位於r
點。 您的開發人員希望將提交從他的分支b
到d
一直到它的HEAD推送到遠程b
: 如果r
不嚴格等於d
則這將不起作用 。
這是設計使然:如果您被允許這樣做,那么您將破壞其他從事該項目的開發人員的分支,更不用說丟失提交的可能性很高。 開發人員肯定會有他們的本地更新。
簡短的回答:是的,他們必須將要推送到的分支上的任何其他更改取回並合並。
更長的答案:Git故意沒有明智地認為更改是否需要合並到一起:就Git而言, 歷史已經改變,因此樹需要合並客戶端。 值得慶幸的是,在大多數情況下,這就像git pull
或git pull --rebase
一樣簡單,然后快速檢查一下所做的更改以及一切是否仍然有效。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.