Git:如何用master更新分支?
这就是我的情况:Git:如何用master更新分支?,git,Git,这就是我的情况: o---o---o - master \-o---o---o - foo 我已经创建了一个新的分支(我们称之为foo),并为此做了一些工作 我已将foo推到远程 需要在master上执行一些操作,因此我切换到master,进行修复并按下 现在:如何使用master更新foo?因为我需要处理foo,但我希望它与master中的更改保持一致。我知道我不应该对已发布的分支重新设置基础 谢谢 从foo git checkout foo git merge master
o---o---o - master
\-o---o---o - foo
- 我已经创建了一个新的分支(我们称之为
),并为此做了一些工作foo
- 我已将
推到远程foo
- 需要在
上执行一些操作,因此我切换到master,进行修复并按下master
master
更新foo
?因为我需要处理foo
,但我希望它与master
中的更改保持一致。我知道我不应该对已发布的分支重新设置基础
谢谢 从
foo
git checkout foo
git merge master
或者,如果其他开发人员未使用foo
,并且您有权强制推送远程设备,则您可以重新设置其基础并强制推送:
git checkout foo
git rebase master
git push -f remote
我坚持认为,重定基址和强制推送已发布的提交没有危险,只要您知道没有人,除非您计划在这些提交上或从这些提交上工作,直到他们获取您的重定基址然后发布的提交。下次你的同事从遥控器取回时,他们会看到
foo
是强制更新的,就是这样。从foo
mergemaster
git checkout foo
git merge master
或者,如果其他开发人员未使用foo
,并且您有权强制推送远程设备,则您可以重新设置其基础并强制推送:
git checkout foo
git rebase master
git push -f remote
我坚持认为,重定基址和强制推送已发布的提交没有危险,只要您知道没有人,除非您计划在这些提交上或从这些提交上工作,直到他们获取您的重定基址然后发布的提交。下次您的同事从远程获取时,他们将看到
foo
是通过强制更新的,就是这样。很好,您知道不应该重新设置基础并强制推送已发布的分支
您需要将master
更改为foo
?在这里最自然的做法就是这样做。将master
的更改合并到foo
中
你的情况:
o---o---o - master
\-o---o---o - foo
然后:
导致foo
中的新合并提交m
:
o---o---o---------- - master
\ \
\-o---o---o---m - foo
从历史上很清楚你做了什么,可能还有原因。您甚至可以在
m
的提交消息中提到您需要从master
获得什么,很好,您知道不应该重新设置基础并强制推送已发布的分支
您需要将master
更改为foo
?在这里最自然的做法就是这样做。将master
的更改合并到foo
中
你的情况:
o---o---o - master
\-o---o---o - foo
然后:
导致foo
中的新合并提交m
:
o---o---o---------- - master
\ \
\-o---o---o---m - foo
从历史上很清楚你做了什么,可能还有原因。您甚至可以在
m
的提交消息中提到您需要从master
获得什么,为什么不简单地使用merge
?从master合并到分支,测试,更正,提交,然后从分支合并到master。为什么不简单地使用merge
?从master合并到分支,测试,更正,提交,然后从分支合并到主分支。合并的可能副本将foo
合并到master
?合并将foo
合并到master
?