[英]Git - Merging release branch into master
我的 git 存儲庫中有一個主分支和發布分支,該存儲庫托管在 bitbucket 上。 當我將發布分支 r1 合並到 master 時,我遇到了合並沖突。 合並沖突僅是由於自述文本文件所致。 我想保留 r1 的自述文件並拒絕 master 中的文件。
當我推送合並的代碼時,我修復了沖突並出現錯誤 - “分支只能通過拉取請求修改”。 我知道發生這種情況是因為我們不允許直接推入 master。 在這種情況下,如何將 r1 合並到 master 中?
您應該使用master
更新r1
分支。 然后使用“拉取請求”將r1
合並到master
中。
更新r1
有兩種方法:
合並master
到r1
git checkout r1 // checkout to branch r1 git fetch origin master // fetch the latest version of master from origin git merge origin/master // merge the latest version of master into r1 branch git push // push new version of r1 to remote repository
在master
服務器上重新設置r1
git checkout r1 // checkout to branch r1 git fetch origin master // fetch the latest version of master from origin git rebase origin/master // rebase r1 branch on the latest version of master git push --force // push new version of r1 to remote repository
為什么--force
? 見這里https://stackoverflow.com/a/8940299/5599567 )
您應該解決發布分支中的沖突。 有兩種解決方案可以做到這一點。 第一個是在 master 之上 rebase 你的發布分支,但是你必須強制推送,所以你需要確保你不會覆蓋其他人的提交:
git checkout r1
git fetch origin master
git rebase origin/master
解決你的沖突,然后
git push -f
否則,您將 master 合並到 release 中,解決您的沖突,然后推送。
解決沖突后,您可以創建拉取請求以合並 master 中的發布。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.