github合并多个commit message以及rebase解决文件冲突

github仓库合并多个commit message

问题描述如下:

第一步:确保自己在对应分支上

比如说现在我要合并issue/108分支的提交记录,使用git log --oneline查看提交记录一共有6次,

bash 复制代码
git log --oneline

第二步:使用rebase功能

bash 复制代码
git rebase -i HEAD~6

将上述内容修改如下,把第二行以后的pick改成s即可

由于vscode默认打开的是nano编辑器,将内容做好修改以后,需要保存文件,保存过程是:

  1. Ctrl + O(不会退出,会提示保存)
  2. Enter(确认保存)
  3. Ctrl + X(退出nano)

第三步:

编辑合并后的Commit Message,保存并退出 nano 后,Git 会弹出另一个编辑窗口,用于编辑最终的 commit message,你会看到所有被 squash 的提交消息,类似:

此时可以修改这些message,比如说我修改为下面这个内容,继续保存并退出文件。

  1. Ctrl + O(不会退出,会提示保存)
  2. Enter(确认保存)
  3. Ctrl + X(退出nano)

第四步:

上一步结束以后界面是

第五步:强制推送即可:

bash 复制代码
git push origin issue/108 --force

github解决rebase文件冲突

issue/18从main分支切出来,但是main分支被别人做了修改,导致issue/18目前和main存在文件冲突,现在使用rebase来解决冲突。

第一步:

git pull最新的main和最新的issue/18分支,成功以后切换到issue/18

bash 复制代码
git checkout main
git pull
git checkout issue/18
git pull

第二步:使用rebase命令,展示出冲突文件

bash 复制代码
git rebase main
git status


第三步:点击冲突文件xmake.lua

比如说我选择接受当前,然后点击右下角的Complete Merge

第四步:根据提示继续rebase

bash 复制代码
git rebase --continue

打印出下面这个界面

第五步:检查rebase是否完成

为了安全起见,我不修改任何提交信息,直接使用Esc,以及:wq保存并且退出,打印出下面这个界面,下面这个git rebase --continue是上一步的,不需要额外再用

这里要注意,如果这一步使用git status会打印出

千万不要理会,千万不要使用git pull,直接强制推送即可,

bash 复制代码
git push origin issue/18 --force
相关推荐
散峰而望1 小时前
【算法竞赛】栈和 stack
开发语言·数据结构·c++·算法·leetcode·github·推荐算法
猫头虎1 小时前
2026最新|GitHub 启用双因素身份验证 2FA 教程:TOTP.app 一键生成动态验证码(新手小白图文实操)
git·开源·gitlab·github·开源软件·开源协议·gitcode
爱学英语的程序员3 小时前
让AI 帮我做了个个人博客(附提示词!)
人工智能·git·vue·github·node·个人博客
无限进步_3 小时前
【C语言&数据结构】另一棵树的子树:递归思维的双重奏
c语言·开发语言·数据结构·c++·算法·github·visual studio
数据大魔方4 小时前
【期货量化进阶】期货Tick数据分析与应用:高频数据入门(TqSdk完整教程)
python·算法·数据挖掘·数据分析·github·程序员创富·期货程序化
进击的丸子5 小时前
基于虹软Linux Pro SDK的多路RTSP流并发接入、解码与帧级处理实践
java·后端·github
逛逛GitHub5 小时前
开源 3 天就 7000 Star!这个复刻 Manus 工作流的 GitHub 项目火了。
github
Coding_Doggy6 小时前
GitHub PR流程
github
Devlive 开源社区7 小时前
技术周报|OpenCode登顶GitHub周榜,AI编程工具热度持续飙升
github·ai编程
阿里嘎多学长7 小时前
2026-01-12 GitHub 热点项目精选
开发语言·程序员·github·代码托管