将远程主分支合并到本地分支(主分支除外)的方式

时间:2020-08-10 12:25:15

标签: git

我在多个分支机构工作。当我需要将分支与主分支同步(假设master)时,我会这样做

git pull origin master

所以我从我的同事那里得到了最新的更改,这些更改已提交到main分支。

但是我开始考虑,是否足以使用以下方式更新主分支(因此我也不会落后)

git checkout master
git pull #this will update master branch to have latest changes

,然后仅在本地合并:

git checkout otherBranch
git merge master # will it merge latest changes of remote master barnch ?

因此,简而言之,这两个变量是否等效:

git pull origin master #when on other branch

git checkout master
git pull
git checkout otherBranch
git merge master

第二个将更新两个分支,但是到远程的连接仅建立一次,这就是为什么我希望第二种方法有效的原因。

2 个答案:

答案 0 :(得分:1)

git pull本质上只是执行fetchmerge(除非您将其配置为具有其他行为,例如重新设置基准)。

因此,回答您的问题,是的,它将起作用。如果要执行较少的命令,则还应使用建议的@Cory-Kramer

请注意,进行git fetch origin otherBranch:master不会尝试合并 masterotherBranch,而是会尝试 update {{1 }}来自master

  1. 语法为otherBranch
  2. 它不会合并,它会更新引用

在您的情况下,除非您强制执行不应该执行的更新,否则更新将被拒绝,因为它不会满足您的要求。

按照Cory的建议使用命令<src>:<dest>仅使您免于检出master到fetch,然后再次检出分支的麻烦。您仍然必须进行合并。

答案 1 :(得分:0)

像这样:

git fetch
git merge origin/master
相关问题