Git 更新分支到 master

Posted

技术标签:

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

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

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

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

【问题讨论】:

【参考方案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

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

git 结帐大师

git 拉

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

git checkout 修补程序

git merge --no-ff origin master

    将功能分支合并到主分支

git 结帐大师

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

【讨论】:

以上是关于Git 更新分支到 master的主要内容,如果未能解决你的问题,请参考以下文章

Git-更新本地代码

git pull后为啥分支没有更新

git从入门到精通(合并分支,将更新提交到远程仓库,将本地分支与远程分支做关联)

从 git 上的 master 更新了分支,但缺少新版本

git分支和master上的冲突了

git上master的更新分支,但缺少新版本