硬重置后的Git合并

硬重置后的Git合并,git,Git,这是顺序 合并了从master到dev的更改 在dev上工作,提交一些更改 收银台主,硬复位到头~1 已签出开发人员,尝试合并主节点 什么也没发生 如何将重置主分支中的更改引入到dev中?解决此问题的简单方法是在dev中找到在master中删除的commit,并运行git revert REF,其中REF是删除的commit的hash/branch/tag/等(git log应该可以方便地找到所需的commit)。这将在dev上创建一个新的commit,该commit将撤消您要删除的commit

这是顺序

  • 合并了从master到dev的更改
  • 在dev上工作,提交一些更改
  • 收银台主,硬复位到头~1
  • 已签出开发人员,尝试合并主节点
  • 什么也没发生

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

    解决此问题的简单方法是在dev中找到在master中删除的commit,并运行
    git revert REF
    ,其中REF是删除的commit的hash/branch/tag/等(
    git log
    应该可以方便地找到所需的commit)。这将在dev上创建一个新的commit,该commit将撤消您要删除的commit中所做的更改。也可以在dev分支中围绕此提交重新设置基础(可能是硬重置),但这可能会导致修改现有提交时出现其他问题。git更喜欢创建更改或撤消旧提交的新提交,而不是破坏性地修改或删除现有提交

    您尝试的情况是,当您在步骤4中将master合并到dev中时,git只会查找master中不在dev中的提交。因为您对master进行了硬重置,所以此更改不会表示为提交,所以此更改不会合并到dev中


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

    请在询问新分支之前查看/接受您的答案。这使我走上了正确的道路,更明确地说,这是我在我的开发分支中必须做的事情:git revert-m 1[合并的沙乌]