我目前正在featurex
分公司工作.我们的主分公司名为分公司our-team
.自从我开始研究以来featurex
,对分支机构进行了更多的更改our-team
.在我推动featurex
合并之前,我本地希望从our-team
分支中获取所有更改,featurex
以便我可以确保一切按预期工作.
我已在本地完成此操作以获取所有最新更改our-team
.
git checkout our-team
git pull
Run Code Online (Sandbox Code Playgroud)
我怎样才能做到这一点?
Jad*_*ine 48
第1步:转到主分支 our-team
第2步:从our-team
分支中提取所有新更改
第3步:去你的分行 featurex
featurex
第4步:将our-team
分支的更改合并到featurex
分支
our-team
如果要合并特定提交,请使用git merge或git cherry-pick{commit-hash}
第5步:使用our-team
分支的更改来推送您的更改
注意:在推送之前将分支合并
our-team
到featurex
分支之后,可能必须修复冲突
Jul*_*lCh 17
您可以git rebase our-team
在分支机构时使用featurex
doc:https://git-scm.com/docs/git-rebase
它将在分支末尾移动分支的起始点our-team
,合并分支中的所有更改featurex
.
Cyb*_*xar 14
对于在谷歌上看到这篇文章的其他人。有 2 个选项,合并或重新设置分支。两者的工作方式不同,但结果相似。
该接受的答案是一个重订。这将获取对 完成的所有提交our-team
,然后将完成的提交应用到featurex
,提示您根据需要合并它们。
重新定位的一点警告是你丢失/重写了你的分支历史,本质上告诉 git 你的分支不是在提交 123abc 开始,而是在提交 456cde 开始。这会给在分支上工作的其他人带来问题,并且一些远程工具会抱怨它。如果您确定自己在做什么,那么这就是--force
标志的用途。
什么其他的海报所提出的建议是一个合并。这将采用featurex
分支,无论它具有什么状态,并尝试将其与 的当前状态合并our-team
,提示您在推送到 之前执行一个,大的,合并提交并修复所有合并错误our-team
。所不同的是,你所申请的featurex
提交之前将our-team
新的提交,然后固定的差异。你也不会重写历史,而是向它添加一个提交,而不是重写之前的那些。
这两个选项都有效并且可以协同工作。通常(我的意思是,如果您使用广泛的工具和方法,例如git-flow)为功能分支所做的是将其合并到主分支中,通常通过合并请求,并解决所有冲突出现在一个(或多个)合并提交中。
Rebase 是一个有趣的选项,它可以帮助您在最终进行合并之前修复您的分支,并减轻必须进行一次大合并提交的痛苦。
小智 12
git fetch origin our-team
Run Code Online (Sandbox Code Playgroud)
要么
git pull origin our-team
Run Code Online (Sandbox Code Playgroud)
但首先你要确保你已经在你想要更新的分支上(featurex).
小智 9
你快到了:)
剩下的就是
git checkout featurex
git merge our-team
Run Code Online (Sandbox Code Playgroud)
这会将我们的团队合并到 featurex 中。
以上假设您已经在 featurex 中提交/隐藏了您的更改,如果不是这种情况,您需要先执行此操作。
归档时间: |
|
查看次数: |
55286 次 |
最近记录: |