Git使用远程Master更新本地分支

spa*_*rkr 4 git gitlab

我看到这样做的两种可能性:

  1. 使用远程主站的更改替换本地分支

  2. 通过创建合并请求来跟踪我使用Gitlab获得的工作流程,并将更改从主分支合并到我希望更新的分支到最新的主分支

这两种方法的优点和缺点是什么?我更倾向于第一种方法.你们说什么?

Dav*_*ave 24

简单的答案 - 有很多更复杂的答案 - 只是做一个合并,所以:

git checkout master
git pull
git checkout <your-branch>
git merge master
Run Code Online (Sandbox Code Playgroud)

(这实际上与您在选项2中描述的相同)

根据您的设置,您可能不需要所有这些步骤(但这些步骤都不会受到影响) - 我建议您阅读每个命令以找到最适合您的精确工作流程.

这会将master中的更改合并到您的分支中,并可能创建一个新的提交,并注释清楚它是一个合并.

替代方案,稍微更高级的选项将是rebase,而不是merge,它将有效地将时间倒退到您的分支从主分支点,然后在主机上拉入更改,使您的分支与主机一致,但没有你的提交,最后在最后申请你的提交.这样做的好处是它可以使历史记录更加简单 - 您只需获得一条直线变化,最后得到分支的更改,而不是在合并点连接的两个单独的分支.

要做到这一点,你会做:

git checkout <your-branch>
git rebase master
Run Code Online (Sandbox Code Playgroud)

我建议阅读关于rebase的文档,因为有很多情况会让它变得困难,如果你是git的新手,肯定会去合并,但是当你更自信的时候再回来吧 - 这是非常的强大的功能,更像我认为您在选项1中描述的内容.


小智 5

当您在当前的分行时git merge master


Mic*_*kin 5

如果您remote设置为默认origin, (您可以使用 来检查它git remote -v),您可以这样做:

git merge origin master
Run Code Online (Sandbox Code Playgroud)