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 冲突的模板,直接保留两边或者选一个版本。你希望怎么处理冲突?

相关推荐
爱上纯净的蓝天3 小时前
Git 入门完全指南:从安装到第一次开源贡献
git·开源
小陈同学,,3 小时前
如何切换git仓库
git
OYangxf7 小时前
Git Commit Message
运维·git
芯有所享8 小时前
【芯片设计中的版本管理:Git与SVN的实战选择指南】
经验分享·git·svn
开发者联盟league8 小时前
解决git报错 filename too long
git
jian110588 小时前
android studiod git在git reset origin/main以后,会有删了又新建的导包问题
git
搬砖的梦先生12 小时前
Codex 小步迭代 + Git Commit + 多任务并行组合版
大数据·git·elasticsearch
phltxy14 小时前
Redis Java 集成到 Spring Boot
数据库·redis·git
空太Jun15 小时前
Git 使用学习笔记
笔记·git·学习
空中海16 小时前
Git-01:基础篇 — 版本控制与日常操作
git·学习