2016-01-08 129 views
1

使用git時,能夠在不需要合併/重新綁定的情況下進行提取的優勢是什麼?從這個answer,我看到使用git fetch有什麼好處?

,如果你需要保持你的資料庫是最新的,但東西,如果你更新你的文件可能會破壞正在這是特別有用。

頻繁提取確實會使未來的合併更加複雜或不太可能發生衝突嗎?

回答

5

無需合併/重新綁定就能獲取的優勢是什麼?

一件事,如果你沒有什麼可以合併或rebase呢?如果你想查看他人推向遠程的其他品牌新分支怎麼辦?您將需要fetch以使您的本地Git知道新分支。

頻繁提取是否會使未來合併變得更加複雜或不太可能發生衝突?

不,這與提取無關。如果你只是提取但不合並或重新定義,那麼有理由認爲你正在幫助未來的衝突。

所有提取都是讓您的本地Git存儲庫查看遠程Git存儲庫中發生了什麼。它可以讓你看到新的分支並提交,並檢查準備合併到本地分支的變更,而無需實際合併它們。

它還允許您稍微優化工作流程以減少網絡點擊量。每個git pull涉及git fetch,所以如果您想在五個不同的分支上使用get pull,則會有四個多餘的額外git fetch調用。這並不是什麼大不了的事情,除非你很着急:假設你走出辦公室趕火車,但是你想確保你在工作時可以從你的每個分支得到所有的改變遠程。您只需在網絡上登錄git fetch,然後離開。稍後,如果沒有網絡連接,您可以手動git checkout <branch>; get merge origin/<branch>來合併您先前提取的更改。

+2

另一種情況可能是:你想獲得的所有提交在火車/飛機通勤中離線工作之前,請將其存放在本地存儲庫中。 –

+0

在grontab中添加'git fetch -all'有助於在連接性不佳的情況下提供很多幫助 - 然後您可以使用git合併,而無需任何網絡等待。 – Basilevs

1

混帳的另一個方面取的是沒有提到的是,你可以通過添加以下標誌同步與遠程回購所有本地回購:

# update whole repository including branches, tags and 
# with the --prune it will also remove teh deleted branches and tags 
# from your local repository 
git fetch --all --prune 
相關問題