首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何将两个相同的提交与不同的哈希合并?

如何将两个相同的提交与不同的哈希合并?
EN

Stack Overflow用户
提问于 2020-12-14 13:33:42
回答 1查看 337关注 0票数 1

我可以使用只读权限访问承包商的Git回购。我从他的服务器上提取他的分支(smile/dev -> dev),然后将它们推回我的GitLab服务器上。然后,我在自定义分支(sectronic -> origin/sectronic)上进行修改,然后如果发生一些更改,可以将它们的smile/dev重新基地或合并到自己的sectronic分支中。

最近,我给我的sectronic分支做了一个补丁,我从它导出了一个补丁,并发送给了我的承包商。他在他的smile/dev分支上应用了修补程序,所以现在我的树中有两个不同的提交,但都做了相同的更改(两个顶部的)。

我怎样才能摆脱这种局面?我不能删除我的分支,因为我有过去的修改,我想保留,我不能真的很难恢复到我自己的提交,因为我可以做其他的提交之后。我目前在Git方面还不够熟练,不知道如何正确地清理这个问题。

我知道工作流不是最优的,让这个工作正常的方法是通过使用拉/合并请求,但遗憾的是,在我的情况下,这是不可能的。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-14 14:01:50

如果您的分支sectronic没有与许多人共享(例如:如果您是唯一使用它的人,或者您和您可以轻松联系的一小群开发人员),那么您可以重写您的分支的历史记录。

如果是这样,您可以使用重基并强制推送您的分支:

代码语言:javascript
运行
复制
# from your 'sectronic' branch :
git checkout sectronic

# rebase on top of smile/dev :
git rebase smile/dev

# and force push :
git push --force-with-lease origin sectronic

如果该分支与其他开发人员共享,您将不得不告诉他们更新他们的本地工作。

如果两个F[io]x modem power on and off procedures引入的补丁100%相同,git rebase将自动识别重复提交并从重写的分支中删除它。

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

https://stackoverflow.com/questions/65289898

复制
相关文章

相似问题

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