繁体   English   中英

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

[英]No merge commit in the commit history in Git

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

  1. 检查开发分支并进行一些更改
  2. 拉开发分支
  3. 将开发分支提交到本地仓库
  4. git checkout -q staging
  5. git merge development
  6. git push origin staging:staging
  7. git checkout -q development
  8. git push origin development:development

我将 VS Code GUI 用于 git 任务。 我有另一个开发人员在同一个项目中工作。 由于某种原因,在两个分支中,提交历史看起来完全一样。 早些时候它曾经毫无问题地显示合并提交,但现在不是了。 我们都无法弄清楚哪里出了问题。

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

然而,有时这是不可取的,无论如何你都想创建一个合并提交。 您可以使用git merge --no-ff来做到这一点。 因此,在您的示例中,在第 5 步,您将运行git merge --no-ff development

这可能会造成混淆,因为大多数托管平台(如 GitHub)在合并时总是执行合并提交,即使 Git 不会。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM