change 1, change 2, change 3, change 4
/
master >> Branch A
\ Branch A1
\
change 1001
我从一开始就从主人那里做了一个分支A.然后我在分支(A1)之外做了一个分支。
随着时间的推移,我对分支A进行了一些更改。 我也对分支A1做了一些更改。
现在我想只将分支A1更改为主分区(更改1001),而不更改分支A(更改1-4)。
使用git可以轻松完成吗?如果有可能,实现这一目标的适当步骤是什么?
我在Eclipse中使用eGit插件。
答案 0 :(得分:0)
你有
x--x--x (master)
\
y--y1--change 1, change 2, change 3, change 4 (branchA)
\
change 1001 (branchA1)
或:
change 1001 (branchA1)
/
x--x--x (master)
\
y--y--change 1, change 2, change 3, change 4 (branchA)
在第二种情况下(branchA1
来自master
),您只需在branchA1
上合并master
。
但在第一种情况下(branchA1
来自branchA
),您可以:
git cherry-pick change 1001
但这会留下一些duplicate commits并受functional dependencies的约束 如果可能的话,我尽量避免采摘樱桃。
或者:
git rebase --onto master y1 branchA1
这将移动从branchA1
(y1
branchA
之后)到master
分支的所有提交。没有重复提交