git文档对此并不十分清楚,但互联网上的每个人似乎都知道它。
说,我目前正在使用名为feature/test
的功能分支。如果我git rebase master
,那么rebase在哪里执行?在功能分支或主分支上? IE浏览器。哪一个正在改变?当前分支的更改方式是否与git merge
具有相同的语法?在这种情况下,我是否必须返回master
并与我的功能分支合并?
编辑:我想要做的是"合并" (在这种情况下,rebase)master
分支到我的功能分支,然后"合并"功能分支回到主人。
答案 0 :(得分:4)
由于您对feature/test
上的master
进行了修改,feature/test
分支已更改。 E.g。
master
|
V
A----B-----C
\
D----E
^
|
feature/test
完成后
git checkout feature/test
git rebase master
你的回购将会是这样的
master
|
V
A----B-----C----D'----E'
^
|
feature/test
请注意D'
!= D
,因为它现在有一个新的父级。然而它包含相同的变化。
修改强>
我如何将功能/测试的更改恢复为主?
由于feature/test
与主git一致,因此只需快进主分支。
git checkout master
git merge feature/test
将导致
master
|
V
A----B-----C----D'----E'
^
|
feature/test