我对git有点新鲜,我不明白。让我解释一下。
我有两个在远程跟踪的分支。它们之间有一个共同的代码,我想在第三个仅限本地的分支中隔离这个代码(即不将更改推送到原点)。之后我想将这个本地分支与其他2个分支合并。
现在问题是 - 当我从我的2个分支推送到原点时,主分支是否会知道我制作的第三个(仅限本地)分支?这是否会使两个分支之间的合并更容易?
答案 0 :(得分:2)
所以听起来你有两个分支,比如:
A-B-C br1
/
-*-*-M master
\
U-V-W br2
你想为一些常见的变化提取一个新分支 - 让我们称之为shared
:
A-B-C br1
/
-*-*-M-----S shared
\
U-V-W br2
然后将该分支合并到您现有的其他分支中?
A-B-C-D br1
/ /
-*-*-M-----S shared
\ \
U-V-W-X br2
假设我已正确理解您的描述:
当我从我的2个分支推送到原点时,主分支是否会知道我制作的第三个(仅限本地)分支?
不,master
将保留在提交M
,直到您对其执行某些操作(commit
,merge
,reset
等)。
这是否会使两个分支之间的合并更容易?
可能这实际上取决于提交S
的性质及其与您从中提取共享更改的其他更改的关系,但通常最好在识别此类共享更改并在合并之前单独完成它们他们回到依赖公共代码的分支。