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

时间:2016-01-07 13:35:45

标签: git gitlab

我看到两种可能性:

  1. 使用远程主控

  2. 中的更改替换本地分支
  3. 通过创建合并请求来跟踪我使用Gitlab获得的工作流程,并将更改从主分支合并到我希望更新为主服务器的分支

  4. 这两种方法有哪些优点和缺点?我更倾向于第一种方法。你们说什么?

4 个答案:

答案 0 :(得分:18)

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

git checkout master
git pull
git checkout <your-branch>
git merge master

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

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

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

另一种更高级的选项是rebase,而不是merge,这将有效地将时间倒退到您的分支与主分支的点,然后提取更改master,使你的分支与master保持一致,但没有你的提交,最后在最后应用你的提交。这样做的好处是它可以使历史变得更加简单 - 您只需获得一条直线变化,最后得到分支的更改,而不是在合并点连接的两个独立分支。

要做到这一点,你可以这样做:

git checkout <your-branch>
git rebase master

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

答案 1 :(得分:3)

当你在当前分行git merge master

答案 2 :(得分:2)

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

git merge origin master

答案 3 :(得分:0)

您还可以重新设置基准:

git rebase origin/master