我目前在feature分支工作。我们的主分支被命名为Our -team。自从我开始在featurex工作以来,我们的团队已经做出了更多的改变。
我在本地做了这些,以获得我们团队的所有最新更改:
git checkout our-team
git pull
在我推动featurex进行合并之前,我想在本地得到我们团队分支的所有更改到featurex中,这样我就可以确保一切都按预期工作。
我该怎么做呢?
我目前在feature分支工作。我们的主分支被命名为Our -team。自从我开始在featurex工作以来,我们的团队已经做出了更多的改变。
我在本地做了这些,以获得我们团队的所有最新更改:
git checkout our-team
git pull
在我推动featurex进行合并之前,我想在本地得到我们团队分支的所有更改到featurex中,这样我就可以确保一切都按预期工作。
我该怎么做呢?
当前回答
如果有人无意中发现这一点,询问自己如何在不使用git pull的情况下拉入更改- git pull将首先运行git fetch,然后git merge,因为它构成了两个序列的组合,即fetch + merge。对于那些只需要从另一个分支中拉更改而不需要这样做的人:
git checkout <branch with changes wanted>
git checkout -b <new branch>
其他回答
git fetch origin our-team
or
git pull origin our-team
但是首先你应该确保你已经在你想要更新到的分支(featurex)上。
如果有人无意中发现这一点,询问自己如何在不使用git pull的情况下拉入更改- git pull将首先运行git fetch,然后git merge,因为它构成了两个序列的组合,即fetch + merge。对于那些只需要从另一个分支中拉更改而不需要这样做的人:
git checkout <branch with changes wanted>
git checkout -b <new branch>
你可以使用rebase,例如,git rebase我们的团队当你在你的分支特性。
它将把分支的起点移动到我们团队分支的末尾,合并你的featurex分支中的所有更改。
有两种选择,合并或重设分支。两者工作方式不同,但结果相似。
公认的答案是rebase。这将把所有提交给我们的团队,然后将提交应用到featurex,提示您根据需要合并它们。
重基的一个小警告是你会丢失/重写你的分支历史,本质上告诉git你的分支不是在commit 123abc开始的,而是在commit 456cde开始的。这将给在分支上工作的其他人带来问题,并且一些远程工具会抱怨它。如果你确定你在做什么,这就是——force标志的作用。
What other posters are suggesting is a merge. This will take the featurex branch, with whatever state it has and try to merge it with the current state of our-team, prompting you to do one, big, merge commit and fix all the merge errors before pushing to our-team. The difference is that you are applying your featurex commits before the our-team new commits and then fixing the differences. You also do not rewrite history, instead adding one commit to it instead of rewriting those that came before.
这两个选项都是有效的,并且可以协同工作。通常(我的意思是,如果您正在使用广泛的工具和方法,如git-flow)为一个特性分支所做的是将其合并到主分支中,通常通过一个合并请求,并解决在一次(或多次)合并提交中出现的所有冲突。
重基是一个有趣的选择,它可以帮助您在最终进行合并之前修复分支,并减轻必须进行一次大型合并提交的痛苦。
在遵循这些说明之前,请记住featurex是合并和推送更改的分支
去你的分支feature Git签出特性 将我们团队分支的变更合并到feature分支中 Git合并我们的团队 或 Git cherry-pick {commit-hash} 如果您想合并特定的提交。
注意:在推送之前,你可能必须在将我们的团队分支合并到featurex分支后修复冲突。