git - Git 的提交历史中没有合并提交
问题描述
我将开发分支合并到暂存分支,但在暂存分支上看不到合并提交。我究竟做错了什么?我的工作流程如下。
- 结帐开发分支并进行一些更改
- 拉取开发分支
- 将开发分支提交到本地仓库
git checkout -q staging
git merge development
git push origin staging:staging
git checkout -q development
git push origin development:development
我将 VS Code GUI 用于 git 任务。我有另一个开发人员在同一个项目中工作。由于某些原因,在两个分支中,提交历史看起来完全一样。早些时候,它曾经显示没有任何问题的合并提交,但现在不再出现了。我们俩都无法弄清楚哪里出了问题。
解决方案
当您使用 Git 在两个分支之间执行合并并且您要合并的分支是您要合并到的分支的严格超集时,Git 执行所谓的快进合并,这基本上意味着您要合并到的分支只是直接更新为与其他分支完全相同。换句话说,不会创建合并提交。
但是,有时这是不可取的,无论如何您都希望创建合并提交。您可以使用git merge --no-ff
. 因此,在您的示例中,在第 5 步,您将运行git merge --no-ff development
.
这可能会令人困惑,因为大多数托管平台(如 GitHub)在合并时总是执行合并提交,即使 Git 没有。
推荐阅读
- rsa-archer-grc - 如何识别包含自定义对象的所有 Archer 应用程序/问卷
- reactjs - 如何修复 Next.js Vercel 部署模块未找到错误
- ssl - 是否可以从 HTTPS 向 HTTP 发出跨域 javascript 请求?
- elf - 多个ELF程序头是什么意思
- javascript - 如何与来自 Cheerp/js 的外部变量交互?
- javascript - 如何基于wordpress创作出像纽约时报那样的互动图画故事?
- javascript - 对象赋值 '=' 和 Object.create() 有什么区别
- r - 如何将包含 NULL 值的列表列表转换为数据框
- ios - Swift - 结构的结构
- kotlin - 从 Kotlin 中的多组字符计算所有可能的字符串