git - Git不允许无关的历史
问题描述
为了获得干净的历史记录,我使用以下命令创建了一个空分支:
git checkout --orphan t0
然后我做了第一次提交:
git commit -m "First commit"
t0 现在拥有开发分支的所有代码并且是相同的(源代码明智)
完成工作后,我尝试了拉取请求,但我收到错误,即无法在拉取请求中使用不相关的历史记录。
我试图通过这样做将它合并到开发分支中:
git merge development --squash --allow-unrelated-histories
但我收到这条消息:
Automatic merge went well; stopped before committing as requested
Squash commit -- not updating HEAD
谁能指导我如何解决问题并将我的代码投入开发?
解决方案
Git 也完全按照你说的做了。合并进行得很顺利(它甚至在输出中这么说)。它没有提交合并,因为这就是壁球合并的工作方式:
生成工作树和索引状态,就好像发生了真正的合并(合并信息除外),但实际上并不进行提交
来源:https ://git-scm.com/docs/git-merge
您只需要提交暂存文件。要执行正常合并,只需删除--squash
标志。
在您的情况下,我不建议进行壁球合并。正常的合并将产生一个带有两个父级的提交,以反映您将两个历史合并在一起的事实。
推荐阅读
- spring-boot - 在 Spring Boot 中从 AWS Parameter Store 绑定参数时出错
- javascript - 为什么路由器未定义?
- php - 将目录 htaccess 代码转换为 nginx conf 文件的语句
- excel - 更改两个相互关联的文本框的事件代码
- powerbi - MDX 查询表中当前行的百分比
- linux - 在 shell 中使用程序输出进行算术运算的更方便的方法?
- c - 使用 malloc 创建的传递参数时 mktime() 的奇怪行为
- javascript - 无法从 GET 响应中读取值
- .net - 如何使用 MongoDb 驱动程序在 C# 中对同一属性的多个值构建过滤器
- typescript - 在 Apollo 客户端上注销