首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用上游历史改写原始历史?

用上游历史改写原始历史?
EN

Stack Overflow用户
提问于 2016-01-22 22:48:53
回答 1查看 220关注 0票数 2

我在一个大型团队工作,团队定期向上游提交。在这一点上,我的起源的历史与上游有很大的不同,所以唯一的“同步”的方法是重设到上游,并强制推进到原点。

有没有办法“同步”或改写我的历史与上游,摆脱“迷你”提交给我,并取代他们从上游压扁的?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-01-24 09:54:57

在git中有几种方法可以做到这一点--我将尝试解释其中的一种。让我们假设您正在处理一个名为bug_fix的本地分支。通过执行以下操作,您应该能够与上游同步:

  1. bug_fix上创建一个新分支: git结帐-b temp_bug_fix
  2. 回到原始的bug_fix分支,并将HEAD重置到本地分支与上游同步的位置。假设这是10次提交,则命令如下: git签出bug_fix git重置-硬头~10
  3. 把所有的新变化从上游拉出来。这将同步bug_fixorigin git拉原点
  4. Cherry-使用适当的SHAs从temp_bug_fix分支中选择提交 樱桃
  5. 现在您已经同步,您可以正常地推送到上游(不使用-f) git推送原点

这个答案假设你的所有改变都是在别人提交了所有的“迷你”之后做出的。

我很想知道你们当地的分支机构是怎么进入这个州的。标准的做法是,开发人员在推进到原点之前,应该压缩他们的提交。一旦一个地方分支机构在上游被合并,任何人都不应该用武力推动来改变历史--这只是一个麻烦的处方。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34957250

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档