【问题标题】:Git update branch to masterGit 更新分支到 master
【发布时间】:2018-04-15 18:09:48
【问题描述】:

我有一个 feature 分支正在处理。昨天我做了一个提交并将我的feature 分支合并到远程master 分支中。

现在我希望继续在我的分支上工作并添加更多功能。然而,从昨天开始,其他人已经向master 分支添加了一些额外的代码。如何“更新”我的 feature 分支,使其包含来自 master 的所有最新更改?

我显然可以拉出最新版本的 master 并简单地创建一个新的分支,但我想还有“更新”我当前的 feature 分支。

【问题讨论】:

    标签: git version-control branch branching-and-merging


    【解决方案1】:

    是的,有办法根据最新的master 分支更新feature 分支。你只需要在feature分支上执行命令:

    # On feature branch
    git pull origin master --rebase
    

    现在feature 分支包含master 分支的最新更改。

    【讨论】:

    • 致投反对票的人:你试过这个命令吗,你能解释一下原因吗?
    • 这似乎有效。虽然我在或多或少 2 步中完成了它首先拉主分支,然后将我的功能分支重新定位到主分支。上述命令是否同时执行这两项操作?
    • 不,它只更新feature 分支。要更新master 分支,您应该在master 分支上执行git pull origin master
    • 这会起作用,但似乎是一个不好的做法,因为它是从 master 合并的,最好分几个步骤完成,所以很明显这是你真正想要做的。许多人在分支上错误地运行该命令并想要拉取分支的远程版本,而是将 master 合并到他们的分支中。
    • @yorammi :当您说“pull 分支的远程版本”时,您的意思是“checkout”吗? Git 令人困惑,但 fetch 然后合并并不比 pull 更令人困惑;人们在真正尝试结账时仍然会这样做。
    【解决方案2】:

    将功能分支推送到 master

    1. 如果其他开发人员将他们的功能分支推送到 master 分支,则更改为 master 分支并获取最新信息

    git 结帐大师

    git 拉

    1. 如果有人在您处理 featurebranch 时将更改推送到 master,则更改为 featurebranch 并将 master 合并到 featurebranch,这样您可能会遇到需要解决的冲突

    git checkout 修补程序

    git merge --no-ff origin master

    1. 将功能分支合并到主分支

    git 结帐大师

    git merge --no-ff origin 特性分支

    【讨论】:

      猜你喜欢
      • 2011-04-22
      • 1970-01-01
      • 1970-01-01
      • 2018-09-08
      • 2013-01-14
      • 1970-01-01
      • 2016-04-30
      • 2013-12-04
      • 1970-01-01
      相关资源
      最近更新 更多