在合并之前,是否需要签出并拉出远程git分支?

时间:2015-05-21 09:45:48

标签: git merge git-merge git-flow

我在developfeature\my-feature分支合并的正常流程是:

name@home ~/myRepo (feature/my-feature)
$ git checkout develop
$ git pull
$ git checkout feature/my-feature
$ git merge develop
$ git mergetool

可以替换为:

name@home ~/myRepo (feature/my-feature)
$ git fetch
$ git merge origin/develop
$ git mergetool

fetch是否从远程origin/develop检索有关更改的足够信息,以允许我从origin/develop而不是develop合并?

feature/my-feature之前develop进行远程origin/develop的更改是不好的做法吗?

2 个答案:

答案 0 :(得分:3)

您可以直接pull远程分支develop,但您可能需要提及远程存储库(在您的情况下为origin):

git checkout feature
git pull origin develop

这将导致合并提交,其中消息提到origin/develop

在没有提及远程仓库的情况下,我担心pull的合并部分会合并您的本地分支develop,而不是提取的本地分支$('body').on('change','.liCalss',function(){ // Your code here }) 。但是试试吧!

答案 1 :(得分:0)

正如this question中所述,git pull只是git fetch,后跟git merge

我更容易用这样的方式思考。

我个人更喜欢获取远程分支而不是拉动它们,因为并不总是需要git pull强制进行自动合并。

这是我的典型工作流程的样子: 我总是从origin/develop分支

开始新功能
git checkout develop
git fetch origin
git reset --hard origin/develop
git checkout -b new_feature_branch

这确保我在最新的origin开发分支。

为什么它比pull更好?因为它可以防止在获取时进行合并,并有助于保持干净的git历史记录。