2017-06-14 36 views
0

假設我有一個跟蹤分支在我的本地存儲庫,我已經做了幾個提交。git pull當跟蹤分支前面和後面的一些提交

與此同時,我的跟蹤分支位於它正跟蹤的遠程分支的幾個提交後面。

因此,如果我做混帳發生或我得到一個錯誤? 如果是,那麼我是否會得到由兩個分支提示和一個共同祖先產生的合併提交?

本來會試用它,但我想我會問,如果有人知道。

謝謝:)

+0

不知道答案,但確實告訴一旦您嘗試過它。想知道它。 – skr

+0

'git pull'表示*運行'git fetch',然後運行第二個Git命令。*第二個命令默認爲'git merge',但您可以告訴Git使用'git rebase'。使用'git pull'的主要棘手部分是獲得任何你認爲正確的參數(並且在Git 1.5-1.8左右的糟糕的舊時代,各種錯誤情況下,'git pull'可能會失去你的工作或者以其他方式表現糟糕)。我寧願單獨執行這兩個命令,其中一些是那些糟糕的舊時代的習慣。 – torek

+0

我也認爲最好使用'git fetch'和'git merge'來代替。我無法理解'git pull'這個使用場景的結果,我想我必須嘗試一下。感謝分享關於'git rebase'選項。不知道這一點。 :) – dhaliman

回答

0

如果你這樣做git pull,git會嘗試三路與您當地的分公司,遠程之一,他們共同的祖先合併,正是因爲你問。如果合併失敗,則必須手動解決衝突。

您需要早晚做git pull。如果您在此之前嘗試使用git push,則只要您的本地分支位於遠程分支後面,就會出現錯誤。

+0

好吧,如果我遇到合併衝突,我會得到一個錯誤,如果沒有,那麼三種方式合併應該發生?我覺得'git fetch'更安全,然後自己合併。我不知道我是否想試試這個。 – dhaliman

+0

好吧,'git pull''就是'git fetch' +'git merge',所以它會是一樣的。 –

+0

正是我在說什麼。我覺得'git pull'只會搞亂合併。 – dhaliman

0

當您的本地分支位於遠程後面時,您會收到一個錯誤,您可以嘗試隱藏最近的提​​交,然後執行git-pull和merge。您可以稍後應用隱藏的提交

+0

,然後您可以爲遠程分支創建一個新分支並將其與本地分支合併。爲什麼會git拋出一個錯誤? – dhaliman