我正在做一個專案,我從release_branch中剪切了一個分支,讓我們稱我的分支為 branch_A。我的同事還從同一個發布分支中洗掉了另一個分支,我們稱之為branch_B。我們正在處理相同的檔案和部分,因此為了避免任何合并沖突,我想從branch_B到我的branch_A進行更改。branch_B的更改已經合并到我們之前從中洗掉分支的release_branch中。
有人能告訴我該怎么做嗎?我試過拉,但沒有用。此外,我切換到release_branch并進行了 pull 和更改,但是一旦我切換到我的branch_A,更改就消失了。請幫忙。
uj5u.com熱心網友回復:
首先,確保您提交所有更改branch_A,如果您擔心在流程中丟失您的作業,請在branch_A(例如branch_A_old)創建一個新分支。
由于您最終將合并回release_branch,因此您可以使用以下方法之一:
- Checkout
branch_A,如果還沒有,則從usingremote_name/release_branch中提取。這將創建一個合并提交,將最新的,包括所做的更改合并到您的分支中。如果有任何沖突,您必須解決它們并執行提交以完成合并。branch_Agit pull --no-rebase remote_name/release_branchrelease_branchbranch_B - 結帳
branch_A,提取remote_name/release_branch,然后合并remote_name/release_branch到branch_A. 這與方法1基本相同,但分為兩個步驟。 - Checkout
branch_A, fetch ,remote_name/release_branch然后 rebase用作上游分支。或者,您可以使用 use將 fetch 和 rebase 合并為一個步驟。branch_Aremote_name/release_branchgit pull --rebase remote_name/release_branch
方法 1 和 2 將合并作為歷史記錄的一部分,方法 3 將更新您分支中的所有提交,以便您的分支從release_branch.
方法 1 和 2 通常更容易,盡管這值得商榷,但方法 3 將提供更清晰的歷史記錄。如果您確實使用方法 1 或 2,您可以稍后執行 squash 以清理歷史記錄。
uj5u.com熱心網友回復:
變基:
添加您同事的遙控器
git remote add <同事昵稱> git@;
檢查遙控器是否添加
git 遠程 -v
腳步:
- git fetch colleague_nickname branch_B:branch_B
- git rebase 分支_B
- git log // 驗證添加的 branch_B 分支代碼
- git push -f origin branch_A
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/470950.html
