假设我在“ abc-test”分支中
git pull origin master
这是否会将master分支与我当前的Branch('abc-test')合并,还是我需要运行更多命令?
答案 0 :(得分:1)
git pull origin master
将从原始远程主分支中提取更改,并将其合并到本地已签出的abc-test
分支中git commit -m"Your commit Message"
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手册。