簡體   English   中英

從主分支更新開發分支,而不會丟失開發中的任何更改

[英]Update develop branch from the master branch without losing any changes in develop

嗨我有一個基於master分支的開發分支。 我在開發分支中進行了更改。 現在,我的問題是如果要更新主分支,我如何基於主分支升級開發分支而不會丟失我在開發分支中的更改?

取決於你的意思是“升級”,但我認為你希望你的開發分支擁有提交大師。

所以你需要一個git mergegit rebase

# merge master into develop
git checkout develop
git merge master

要么

# rebase develop on top of master
git checkout develop
git rebase master

或者,如果您的主服務器位於服務器上並且您希望從原始服務器獲取更改,則可以使用pull命令執行相同的操作。

git checkout develop
git pull #or git pull --rebase

請注意 ,您當前的工作目錄必須是干凈的。 否則,您必須提交(或存儲)您的更改,以便從master獲取內容。

我建議你使用rebase解決方案(參見mereg vs rebase )。 假設您在您的個人開發分支中(沒有其他人使用此分支)

1保存當前dev(in):

git add <all files you created> 
# -am is ; a: all added an modified    m: message follows
git commit -am "<comment your commit>"    
git push origin <my-dev-branch>

從這一點開始, 你不能放松任何東西,因為遙控器上有副本

然后使用遠程信息更新本地

git fetch --all
git rebase master

此時你可能不得不處理一些合並沖突

git mergetool

選中此項以設置好的合並工具

一旦解決了所有合並沖突,並重新測試了代碼,您將再次推送到服務器強制 (-f)分支更新

git push -f origin <my-dev-branch>

去開發和使用rebase。

git checkout develop
git pull --rebase origin master

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM