git 文件冲突之后如何操作

冲突报错

bash 复制代码
git status
interactive rebase in progress; onto f1def41fc
Last command done (1 command done):
   pick 0d2ff5c91 deploy tju
No commands remaining.
You are currently rebasing branch 'zld' on 'f1def41fc'.
  (fix conflicts and then run "git rebase --continue")
  (use "git rebase --skip" to skip this patch)
  (use "git rebase --abort" to check out the original branch)

Changes to be committed:
  (use "git restore --staged <file>..." to unstage)
......

Unmerged paths:
  (use "git restore --staged <file>..." to unstage)
  (use "git add <file>..." to mark resolution)
	both modified:   xxx(dir/filename)

解决

你当前正在 git rebase 的过程中,提示信息显示:

  • 上一次的命令已经执行完(pick 0d2ff5c91 deploy tju)。
  • 当前还有冲突未解决:ansible/inventory/tju 文件显示 both modified,也就是在你的分支和被 rebase 的目标分支上都有修改。

正确操作步骤如下:

  1. 查看冲突内容
bash 复制代码
git diff ansible/inventory/tju

你会看到类似下面的标记:

复制代码
<<<<<<< HEAD
你的修改内容
=======
目标分支的修改内容
>>>>>>> f1def41fc

需要手动选择保留哪一部分,或者合并两边内容。

  1. 标记冲突解决完成

编辑完文件后,保存,然后执行:

bash 复制代码
git add ansible/inventory/tju
  1. 继续 rebase
bash 复制代码
git rebase --continue

如果还有其他冲突,重复步骤 1~3。

  1. 可选操作
  • 如果你决定不保留当前 commit,可以跳过:
bash 复制代码
git rebase --skip
  • 如果想放弃 rebase,回到最初分支状态:
bash 复制代码
git rebase --abort

⚠️ 提示 :当前状态下,Changes to be committed 已经列出了你新增/修改的文件,但 冲突文件必须先解决并 git add ,否则 --continue 会报错。

如果你需要,我可以帮你写一个 快速合并 ansible/inventory/tju 冲突的模板,直接保留两边或者选一个版本。你希望怎么处理冲突?

相关推荐
imDwAaY17 小时前
6篇文章讲清楚Git:Git 远程协作:fetch、pull、push 到底有什么区别?(3/6)
git·后端
imDwAaY17 小时前
6篇文章讲清楚Git:Git 撤销与恢复:reset、revert、restore 应该怎么选?(4/6)
git
用户733096461230917 小时前
再也不怕手滑丢代码!给 git 高危操作加一层安全校验
git
广白18 小时前
Git Tag 实战:从出包追溯到版本发布
前端·git·面试
Winlifes6 天前
我给 Codex 做了一个 Git 面板:分支树、提交历史和工作区操作
git
郑州光合科技余经理7 天前
同城外卖小程序开发:下单成功后,后台导出能不能对上用户端状态
开发语言·前端·git·后端·uni-app·php·ai编程
我命由我123457 天前
Git 推送报错:error: src refspec main does not match any
运维·git·gitee·github·运维开发·学习方法·版本控制
Lcr3s7 天前
Git基础之(0):如何在Ubuntu(Linux)上安装git
git
玄芯散人8 天前
【筑基·058】Git协作工作流:冲突解决和PR流程
git·版本控制·团队协作
寺中人8 天前
Git 版本控制完全入门指南:从安装到实战,提交 + 分支 + 协作 + 冲突解决全拆解
git·开发工具·版本控制·团队协作·代码管理