在 Git 中从 master 更新分支
当在 Git 中与许多开发人员和分析师同时在各个分支上工作时,我们可能会遇到许多问题。一个常见的问题是当一名团队成员在他的本地分支中进行更改,而其他人在该远程分支上工作,然后将他们的更改合并到远程主分支。
此外,如果我们推送正在工作的本地分支而不拉取远程主分支,那么我们必须在远程主分支中重写其他开发人员的更改。
这篇文章是关于 git update master branch
命令的,我们将讨论完整的 Git 更新分支模型。分支
功能可以在大多数现代和独特的版本控制系统中找到。
在 Git 中,最重要和最有用的特性是分支,它是我们日常开发过程的一部分。本文将指导我们使用下面提到的方法更新 Git 分支。
如果我们希望我们的 git 功能分支使用来自 master 分支的新更改进行更新,我们需要遵循以下任一技术:
- 合并
- 变基
合并创建更多的提交,而 rebase 会重写仓库中的历史记录。
假设我们在我们创建的仓库中的任何功能分支上,以便在我们的开发过程中添加子功能。
分支的当前状态如下。
git branch
* feature branch
并且在仓库的 origin/master 分支上有新的提交可用:
git fetch
From git repository
xyz88874..def74125 master -> origin/master
那么我们如何将上面的提交从本地分支合并到主分支呢?我们现在有两个解决方案,第一个是使用 merge
命令,另一个是 Git 中的 rebase
命令。
在 Git 中使用 merge
命令更新主分支
由于我们想要将本地分支的最新提交合并到主分支,我们可以使用以下命令来合并提交。
git merge origin/master
当我们要将本地分支的更改提交到远程分支时,如果我们在其中发现一些冲突,我们将首先将冲突合并到一个文件中并为其创建一个新的合并提交。如果我们在工作目录中没有发现冲突,则会将新的提交直接推送到远程分支。
使用 rebase
命令更新主分支
由于我们想要将最新的提交从本地分支变基到主分支,那么我们可以使用下面的命令来变基提交。
git rebase origin/master
Rebase 将特性分支的所有不同提交向上移动。这表明分歧的提交现在将由 \new commit hashes\
组成,因为它的历史将再次写入主分支。
此外,如果我们的功能分支已经推送到远程主分支,那么我们需要强制推送以使其更新:
git push origin feature --force
但是,如果其他开发人员已经检查了该功能分支,则不建议使用此方法,最好在这种情况下坚持使用合并命令。
Abdul is a software engineer with an architect background and a passion for full-stack web development with eight years of professional experience in analysis, design, development, implementation, performance tuning, and implementation of business applications.
LinkedIn