当前位置: 首页 > news >正文

git无法提交解决方案--! [rejected] master -> master (non-fast-forward)

使用git上传自己的代码时,是否有小伙伴遇到过,以上的报错情况。

以下是我的解决方案

解决方案

git add 文件名/目录名/.
git commit -m "XXXX"
git push

输入你git的账号

输入你git账号的密码

输入

git merget --no-ff

即可解决

git merget --no-ff介绍

git merge --no-ff是 Git 中用于合并分支的命令,它强制执行普通的合并(创建合并提交),即使当前分支的提交历史是快进(fast-forward)模式。以下是详细说明:

快进合并与普通合并


快进合并(Fast-Forward Merge):如果当前分支的提交历史是线性的,没有分叉,Git 会直接将当前分支的指针移动到目标分支的最新提交,不会创建新的合并提交。这种方式简单高效,但会丢失分支的独立历史记录。
普通合并(Non-Fast-Forward Merge):即使当前分支的提交历史是线性的,git merge --no-ff也会创建一个新的合并提交,将目标分支的最新提交合并到当前分支。这种方式保留了分支的独立历史记录,便于追踪和管理。

使用场景


假设你有一个项目,包含两个分支:main 和 feature。main分支的提交历史为 A → B → C,feature分支从 B 分叉,提交历史为 B → D → E。

  1. 不使用 --no-ff:如果 main分支当前在 C 提交,合并 feature分支时,Git 会执行快进合并,将main 分支指针移动到 E 提交,合并后提交历史为 A → B → C → D → E。
  2. 使用 --no-ff:合并时,Git 会创建一个新的合并提交 F,合并后提交历史为 A → B → C → F(合并提交,包含 D 和 E)。这种方式保留了 feature分支的独立历史记录,便于后续的分支管理和代码审查。

总结


git merge --no-ff用于强制执行普通合并,保留分支的独立历史记录,适用于需要追踪分支开发过程或进行代码审查的场景。

http://www.dtcms.com/a/67352.html

相关文章:

  • 【亲测有用】数据集成平台能力演示(支持国产数据库DaMeng与KingBase)
  • 解锁下一代开发范式:IntelliJ Idea AI插件全景实战与未来展望
  • element-ui layout 组件源码分享
  • ACL初级总结
  • R+VIC模型融合实践技术应用及未来气候变化模型预测
  • Uniapp当中的scroll-view滚动条不出现或者触底刷新事件不触发
  • MySQL DBA 运维常用命令
  • 借助AI驱动的DeepBI:优化广告架构,提升营销策略的精准与前瞻性
  • 携程笔试 2025.3.13
  • docker的anythingllm和open-webui压缩包分享(国内镜像拉取,百度云压缩包分享)
  • 交互式可视化进阶(Plotly Dash构建疫情仪表盘)
  • Centos7系统基于docker下载ollama部署Deepseek-r1(GPU版不踩坑)
  • 【C++ STL】 容器详解:queue 学习
  • 从头开始开发基于虹软SDK的人脸识别考勤系统(python+RTSP开源)(五)完整源码已上传!
  • 基于MySQL有用户管理的音乐播放器
  • Java 虚拟机优化指南:CMS垃圾回收器参数调优与性能监控工具详解
  • obeaver 连接oracle 库 模式乱码
  • XXE-labs靶场通关攻略
  • 【菜鸟飞】通过vsCode用python访问公网deepseek-r1等模型(Tocken模式)
  • cs224w课程学习笔记-第7课
  • Harmony OS:用户文件操作——图片选择与渲染使用
  • Docker根目录迁移与滚动日志设置
  • leetcode日记(96)有序链表转换二叉搜索树
  • 记录致远OA服务器硬盘升级过程
  • Android第二次面试总结(项目拷打理论篇)
  • Gone v2 中 Gone-Gin 性能测试报告
  • kotlin与MVVM的结合使用总结(二)
  • hackme靶机通关攻略
  • Java数组详解(一)
  • IDE 使用技巧与插件推荐:全面提升开发效率