https://git-scm.com/book/en/v2/Git-Branching-Remote-Branches
我想確認在上頁“推送”部分的末尾,
(1) git merge origin/serverfixfetch 后執行
(2) 運行git checkout -b serverfix origin/serverfix
我是否正確理解操作(1)和(2)畢竟具有相同的效果?
uj5u.com熱心網友回復:
git checkout -b創建一個不同的分支并將您切換到它。git checkout -b serverfix origin/serverfix指定新的本地分支應指向與遠程serverfix相同的提交。serverfixorigingit merge將來自指定提交的更改合并到您的當前分支,更新您的當前分支。
他們完全不同。執行后你將在不同的分支上,甚至可能沒有相同的HEAD內容。
uj5u.com熱心網友回復:
是,有一點不同; 不,它們沒有相同的效果。
正如鏈接檔案所解釋的,git merge origin/serverfix將遠程分支“origin/serverfix”與當前簽出的任何分支(當前作業分支)合并,同時將基于遠程“origin/serverfix”git checkout -b origin/serverfix創建一個名為“serverfix”的新本地分支然后檢查新分支。
uj5u.com熱心網友回復:
順序很重要:
首先,您創建一個主題分支。從Git 2.23 (Q3 2019) 開始,正確的命令是git switch -c:
git switch -c serverfix
由于git switch(和git checkout以前一樣)有一個猜測模式,這相當于:
git switch -c <branch> --track <remote>/<branch>
另一個命令是將主題分支作業合并回您當前的分支。
如果當前的分支是你自己的版本serverfix,一個簡單的git pull就足夠了(“ git fetch git merge origin/serverfix”的縮寫)
但是,如果您想直接將遠程分支合并到當前分支:
git fetch
git switch main
git merge origin/serverfix
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/518324.html
標籤:混帐混帐合并混帐结帐
