我目前在featurex分支机构工作。我们的主分支称为branch our-team。自从我开始工作以来featurex,对分支进行了更多更改our-team。在进行featurex合并之前,我希望在本地将所有更改从our-team分支转换为,featurex以便确保一切都能按预期进行。
我已在本地完成此操作,以获取来自的所有最新更改our-team。
git checkout our-team
git pull
我怎样才能做到这一点?
我目前在featurex分支机构工作。我们的主分支称为branch our-team。自从我开始工作以来featurex,对分支进行了更多更改our-team。在进行featurex合并之前,我希望在本地将所有更改从our-team分支转换为,featurex以便确保一切都能按预期进行。
我已在本地完成此操作,以获取来自的所有最新更改our-team。
git checkout our-team
git pull
我怎样才能做到这一点?
Answers:
转到主分支 our-team
从our-team分支中提取所有新更改
去你的分行 featurex
featurex将our-team分支的更改合并到featurex分支
our-team{commit-hash}如果要合并特定的提交通过our-team分支的更改来推动您的更改
注意:在将our-team分支合并到featurex分支之后,可能需要先解决冲突,然后再推送
对于其他在Google上发表此帖子的人。有2个选项,合并或重新分支。两者的工作方式不同,但结果相似。
该接受的答案是一个重订。这将完成所有提交our-team ,然后将完成应用到featurex,提示您根据需要合并它们。
更改基础的一点警告是,您丢失/重写了分支历史记录,实际上是告诉git分支不是从commit 123abc开始,而是从456cde开始。这将给在分支上工作的其他人带来问题,并且一些远程工具会对此抱怨。如果您确定自己在做什么,那就是该--force标志的作用。
什么其他的海报所提出的建议是一个合并。这将使featurex分支具有任何状态,并尝试将其与的当前状态合并our-team,提示您执行一个大的合并提交并修正所有合并错误,然后再推至our-team。所不同的是,你所申请的featurex提交之前将our-team新的提交,然后固定的差异。您也不会重写历史记录,而是向其中添加一个提交,而不是重写之前的提交。
这两个选项均有效,并且可以同时使用。通常,(如果您使用的是广泛使用的工具和方法,例如git-flow)用于功能分支,通常是将其合并到主分支中(通常要通过合并请求),并解决所有冲突变成一个(或多个)合并提交。
变基是一个有趣的选项,它可以帮助您在最终进行合并之前修复分支,并减轻必须进行一次大合并提交的痛苦。