假設我有一個跟蹤分支在我的本地存儲庫,我已經做了幾個提交。git pull當跟蹤分支前面和後面的一些提交
與此同時,我的跟蹤分支位於它正跟蹤的遠程分支的幾個提交後面。
因此,如果我做混帳發生或我得到一個錯誤? 如果是,那麼我是否會得到由兩個分支提示和一個共同祖先產生的合併提交?
本來會試用它,但我想我會問,如果有人知道。
謝謝:)
假設我有一個跟蹤分支在我的本地存儲庫,我已經做了幾個提交。git pull當跟蹤分支前面和後面的一些提交
與此同時,我的跟蹤分支位於它正跟蹤的遠程分支的幾個提交後面。
因此,如果我做混帳發生或我得到一個錯誤? 如果是,那麼我是否會得到由兩個分支提示和一個共同祖先產生的合併提交?
本來會試用它,但我想我會問,如果有人知道。
謝謝:)
如果你這樣做git pull
,git會嘗試三路與您當地的分公司,遠程之一,他們共同的祖先合併,正是因爲你問。如果合併失敗,則必須手動解決衝突。
您需要早晚做git pull
。如果您在此之前嘗試使用git push
,則只要您的本地分支位於遠程分支後面,就會出現錯誤。
當您的本地分支位於遠程後面時,您會收到一個錯誤,您可以嘗試隱藏最近的提交,然後執行git-pull和merge。您可以稍後應用隱藏的提交
,然後您可以爲遠程分支創建一個新分支並將其與本地分支合併。爲什麼會git拋出一個錯誤? – dhaliman
不知道答案,但確實告訴一旦您嘗試過它。想知道它。 – skr
'git pull'表示*運行'git fetch',然後運行第二個Git命令。*第二個命令默認爲'git merge',但您可以告訴Git使用'git rebase'。使用'git pull'的主要棘手部分是獲得任何你認爲正確的參數(並且在Git 1.5-1.8左右的糟糕的舊時代,各種錯誤情況下,'git pull'可能會失去你的工作或者以其他方式表現糟糕)。我寧願單獨執行這兩個命令,其中一些是那些糟糕的舊時代的習慣。 – torek
我也認爲最好使用'git fetch'和'git merge'來代替。我無法理解'git pull'這個使用場景的結果,我想我必須嘗試一下。感謝分享關於'git rebase'選項。不知道這一點。 :) – dhaliman