Git中的提交历史记录中没有合并提交

Git中的提交历史记录中没有合并提交,git,merge,branch,commit,aws-codecommit,Git,Merge,Branch,Commit,Aws Codecommit,我将我的开发分支合并到临时分支,但在临时分支上看不到合并提交。我做错了什么?我的工作流程如下 签出开发分支并进行一些更改 拉发展处 将发展分行委托给本地回购 git签出-q登台 git合并开发 git推送源暂存:暂存 git签出-q开发 git推源开发:开发 我使用VS代码GUI执行git任务。我有另一个开发人员在同一个项目中工作。由于某些原因,在这两个分支中,提交历史看起来完全相同。早些时候,它用来显示合并提交,没有任何问题,但现在不再显示了。我们都无法找出哪里出了问题。当您使用Git在两个分

我将我的开发分支合并到临时分支,但在临时分支上看不到合并提交。我做错了什么?我的工作流程如下

  • 签出开发分支并进行一些更改
  • 拉发展处
  • 将发展分行委托给本地回购
  • git签出-q登台
  • git合并开发
  • git推送源暂存:暂存
  • git签出-q开发
  • git推源开发:开发

  • 我使用VS代码GUI执行git任务。我有另一个开发人员在同一个项目中工作。由于某些原因,在这两个分支中,提交历史看起来完全相同。早些时候,它用来显示合并提交,没有任何问题,但现在不再显示了。我们都无法找出哪里出了问题。

    当您使用Git在两个分支之间执行合并时,您要合并的分支是您要合并到的分支的严格超集,Git执行所谓的快进合并,这基本上意味着您要合并到的分支直接更新为与另一个分支完全相同。换句话说,不创建合并提交

    但是,有时这是不可取的,您希望创建一个合并提交。您可以使用
    git merge--no ff
    来实现这一点。因此,在您的示例中,在步骤5,您将运行
    gitmerge--no-ff-development


    这可能会让人困惑,因为大多数托管平台(如GitHub)在合并时都会执行合并提交,即使Git没有执行。

    在您的
    staging
    分支上进行任何提交的地方?在合并之前没有进行任何提交。正如@bk2204所提到的,这将创建一个FF合并,因此缺少合并提交。搞定了。谢谢,谢谢@bk2204。我想这解释了现在发生的事情。但是有什么原因可以解释为什么它以前发生得更早,现在不再发生了呢?如果在
    暂存
    中有不在
    开发
    中的提交,那么Git不能执行快进,必须创建合并提交。所以要么发生了这种情况,要么你使用了一个工具(例如,托管平台或编辑器集成),它总是执行合并提交。这会清除一切。现在我知道发生了什么。非常感谢。@suharsha快进合并会将分支指针更新为与目标分支相同的提交。