所以情景是這樣的:如何在保持新增工作的同時使我的當前分支保持最新狀態?
我需要爲我正在實現的功能「拼合」做功。我創建了一個名爲split的分支,並完成了我所有的工作。
與此同時,有一個需要在生產中實現的突變,所以我切換回主,承諾我的更改並部署它們。
現在我又回到了「拆分」分支上工作。我今天早上檢查了它,但現在我需要通過包含我實施的突破性更改的主分支來加快速度。
我該怎麼做?
所以情景是這樣的:如何在保持新增工作的同時使我的當前分支保持最新狀態?
我需要爲我正在實現的功能「拼合」做功。我創建了一個名爲split的分支,並完成了我所有的工作。
與此同時,有一個需要在生產中實現的突變,所以我切換回主,承諾我的更改並部署它們。
現在我又回到了「拆分」分支上工作。我今天早上檢查了它,但現在我需要通過包含我實施的突破性更改的主分支來加快速度。
我該怎麼做?
git rebase master
然後解決衝突,你就完成了。但是這隻能在非推送的本地分支上完成,而其他用戶根本沒有工作。如果潛在的其他人擁有基於你的分支的分支,你應該更好地將最新的主變更合併到你的特徵分支中,但是通過分配,你可以獲得更好的線性歷史記錄,而不是梯形圖歷史記錄。
你可以pull master
分支來獲得突破性的變化。或者,您可以rebase
。採取所有主人的變化,並把你的承諾top in git log
。
$ git fetch
$ git pull --rebase origin master
您需要merge
或rebase
主分支到您的特性分支。
首先,您必須commit
或stash
功能分支上的所有更改,以便工作目錄乾淨。然後,請git rebase master
重新綁定或git merge master
合併。理解差異也很好:https://www.atlassian.com/git/tutorials/merging-vs-rebasing/。