Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/sql-server-2005/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Git:如何用master更新分支?_Git - Fatal编程技术网

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
merge
master

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