一个新的分支 frommaster被创建,我们称之为test。
master
test
有几个开发人员要么提交master或创建其他分支,然后合并到master.
假设工作test需要几天时间,并且您希望不断test更新内部的提交master。
我会git pull origin master从test.
git pull origin master
问题1:这是正确的方法吗?顺便说一句,其他开发人员可以轻松地处理与我工作过的文件相同的文件。
我的工作test已经完成,我准备将其合并回master. 以下是我能想到的两种方式:
A:
git checkout test git pull origin master git push origin test git checkout master git pull origin test
B:
git checkout test git pull origin master git checkout master git merge test
我没有使用--rebase,因为根据我的理解,rebase 会从中获取更改master并将我的更改堆叠在此之上,因此它可能会覆盖其他人所做的更改。
--rebase
问题2:这两种方法哪一种是正确的?那里有什么区别?
所有这一切的目标是让我的test分支更新发生的事情,master然后我可以将它们合并回来,master希望尽可能保持时间线的线性。
git checkout master git pull origin master git merge test git push origin master
如果我有一个来自远程分支的本地分支,我不喜欢将除此分支之外的其他分支与远程分支合并。此外,我不会推送我的更改,直到我对我想要推送的内容感到满意并且我根本不会推送任何东西,这仅适用于我和我的本地存储库。在您的描述中,这似乎test只适合您?所以没有理由发布它。
git 总是试图尊重你和其他人的变化,--rebase. 我认为我不能适当地解释它,所以请看一下Git 书 - Rebasing or git-ready: Intro into rebaseing进行一些描述。这是一个很酷的功能