簡體   English   中英

並發git pull並推送來自不同位置的同一個遠程repo

[英]concurrent git pull and push on same remote repo from different locations

假設我從一些遠程git repo中拉或克隆如果1)在我開始拉/克隆之后會發生什么 - 有人開始向中間的那個遠程倉庫推送? 2)當有人正在將代碼推送到遠程git repo時 - 我開始拉克隆了嗎?

在每個案例中我最終會得到什么?

謝謝

兩種情況都沒有問題。 在案例1)中,當某人推動時,ref(一個分支名稱,通常是)更新時會有一個點,並且任何獲取(克隆和拉動的基本部分)將在該點或新的之前獲得舊值之后一個。 只有當它所需的所有對象都在遠程存儲庫的對象數據庫中時,才會更新ref,因此沒有問題。 2)同樣地,如果構成你的拉動的提取發生在被推送到的ref之后更新,那么你將得到新的值,否則你將獲得舊值。

(一個可能的例外是“dumb HTTP”傳輸,你需要在每次推送后在遠程存儲庫中運行git update-server-info ,因此在推送之后但在掛鈎運行之前,fetch可能會立即失敗那個命令 - 但是,我認為現在使用愚蠢的HTTP傳輸是相對罕見的。)

暫無
暫無

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

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