硬重置后的 Git 合并

  • 本文关键字:Git 合并 git
  • 更新时间 :
  • 英文 :


这是序列

  1. 从主节点合并到开发人员的更改
  2. 从事开发工作,提交一些更改
  3. 结帐大师,做了一个硬重置为HEAD~1
  4. 已签出开发,尝试合并主控
  5. 什么也没发生

如何将重置主分支中的更改引入 dev?

解决此问题

的一种简单方法是在 master 中找到您在 master 中删除的 dev 提交并运行 git revert REF ,其中 REF 是您删除的提交的哈希/分支/标签/等(git log应该派上用场找到您想要的提交(。这将在 dev 上创建一个新提交,该提交将撤消在要删除的提交中所做的更改。也可以在 dev 分支中围绕此提交重新变基(可能进行硬重置(,但这可能会导致修改现有提交时出现其他问题。Git 更喜欢您创建新提交来更改或撤消旧提交,而不是破坏性地修改或删除现有提交。

在您尝试的内容中发生的事情是,当您在步骤 4 中将 master 合并到 dev 中时,git 只是查找 master 中不在 dev 中的提交。由于你对 master 进行了硬重置,因此此更改不会表示为提交,因此此更改不会合并到 dev 中。

请注意,如果您计划将该修改转到多个分支(并且也不强制推送(,硬重置通常会使分支更加复杂。

最新更新