如何将最新更改拉到我在git hub中当前工作的分支中

时间:2019-06-25 13:34:34

标签: git github git-pull

假设我在“ abc-test”分支中

git pull origin master

这是否会将master分支与我当前的Branch('abc-test')合并,还是我需要运行更多命令?

2 个答案:

答案 0 :(得分:1)

  1. git pull origin master将从原始远程主分支中提取更改,并将其合并到本地已签出的abc-test分支中
  2. 也许您会遇到冲突,那么您必须解决冲突并提交更改git commit -m"Your commit Message"
  3. 如果没有冲突,请跳过步骤2转到步骤4
  4. 然后您必须进行更改git push

答案 1 :(得分:0)

tl; dr:运行git fetch以获取最新更改,然后运行git rebase master将分支更新为master中的最新更改。

现在,要回答您的问题:是的,git pull origin master确实合并了它们。

但是,您可能想要的是将master的提交应用于分支,然后在分支之上重新应用。

这被称为变基。 git-rebase手册(您可以使用git rebase --help从终端直接访问git-rebase手册,其中充满了有用的图表,可帮助您了解提交图的外观。

这是其中之一:

Assume the following history exists and the current branch is "topic":
             A---B---C topic
            /
       D---E---F---G master

From this point, the result of the following command:

       git rebase master

would be:

                     A'--B'--C' topic
                    /
       D---E---F---G master

如果您使用git pull,则您的图形将很快变得非常混乱。尤其是如果您开始使用它通过来自远程存储库的新提交来更新本地分支,因为那样的话,您将创建从分支到其自身的合并提交,这是不必要的,并且常常会引起误解。

通过运行git pull --rebase或仅运行git pull -r而不是git pull可以避免大多数情况。

提示:尽可能频繁地使用git log --oneline --graph,这样您就可以习惯存储库图以及每个git命令对其产生的影响。

注意:变底太深时要小心。阅读git-rebase手册。