如何将最新的更改拉到 GitHub 中我当前的工作分支?

How to pull the latest changes to my current working branch in GitHub?

假设我在分支 'abc-test'

git pull origin master

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

tl;博士:

运行 git fetch 获取最新更改,然后 运行 git rebase master 将您的分支更新到 master 中的最新更改。


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

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

这就是所谓的变基。 git-rebase 手册(您可以直接从终端使用 git rebase --help 访问它)充满了有用的图表,可帮助您了解提交图的外观。

这是其中之一:

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,您的图表很快就会变得一团糟。特别是如果您开始使用它来使用来自远程仓库的新提交来更新本地分支,因为那样您将创建从分支到自身的合并提交,这是不必要的并且经常会产生误导。

大多数情况都可以通过 运行ning git pull --rebasegit pull -r 而不是 git pull.

来避免。

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

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

  1. git pull origin master 将从 origin 远程、master 分支拉取更改并将它们合并到本地 checked-out abc-test 分支
  2. 可能你会遇到冲突然后你必须解决冲突并提交更改git commit -m"Your commit Message"
  3. 如果没有冲突则跳过第 2 步转到第 4 步
  4. 然后你必须推送更改 git push