有兩個分支。主要分支和分支有一個功能。但功能分支與主體衝突。人們告訴我,我應該改變主要特徵分支。依靠主分支
這是否意味着git rebase origin/main
(和我在功能分支)或git rebase feature_branch
(和我在主分支)?
重要的是,在git merge PRODUCTION
期間應該沒有衝突,並且必須通過命令rebase來解決。怎麼樣?
有兩個分支。主要分支和分支有一個功能。但功能分支與主體衝突。人們告訴我,我應該改變主要特徵分支。依靠主分支
這是否意味着git rebase origin/main
(和我在功能分支)或git rebase feature_branch
(和我在主分支)?
重要的是,在git merge PRODUCTION
期間應該沒有衝突,並且必須通過命令rebase來解決。怎麼樣?
這將意味着:
git fetch
git checkout feature
git rebase origin/main
您在更新origin/main
的頂部局部feature
分支重播。
這給你一個機會來解決本地的任何衝突,然後然後推動功能分支(自從它的歷史發生變化以來,一個git push --force
):確保你是唯一一個在該分支上工作的人。
(如aduch提到in the comments,如果有來自origin/main
合併到feature
之前,那麼git rebase -p origin/main
可能需要在理論上。請參閱「How to rebase only the commits after the latest merge?」。
但是,這也意味着,在這種情況下,一個git合併最好是把一個Git重訂,已保留過去增加了複雜合併)
如果你是不是唯一的一個分支上工作,那麼一個替代方案是合併origin/main
到feature
,解決任何衝突存在,之前推feature
(常規推送)。
我做了三個步驟,然後我解決了衝突。然後我不在任何分支。在提交之前,問我是否想切換到某個分支,我想提交它,所以我切換到了功能分支,實際的東西和功能分支之間存在衝突,我合併了它,現在我在之前的位置。特色分支仍然與主要衝突。 – user3599497
@ user3599497嘗試新克隆中的同一步驟。確保你可以乾淨的結帳功能(應該沒有消息)。然後開始合併。 – VonC
建議不保存「-p」選項來保存合併提交? – axelduch