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

相关推荐
kuroomi12 小时前
Git入门
git·kubernetes
daliucheng12 小时前
lazygit 上手:日常 git 操作一篇讲完
git
codigger14 小时前
大厂git提交规范
git·程序员
挖掘狂人14 小时前
六条分支,一条主干:我的 Git 分支管理心得
git·后端·程序员
Brookty15 小时前
Git与GitHub系统学习|本地Git工作模型:终端与进程、CWD、HEAD/Index/工作树及Git对象
git·github
2301_767113981 天前
点过“不再询问”就要检查:Claude Code权限文件也可能存着密钥
git·信息安全·claude code
江屿风2 天前
【Git-组件】【Git入门:从文档灾难到版本掌控】流食般投喂
运维·笔记·git·组件·版本控制
程序员沉梦听雨2 天前
【Git】fork工作流与上游同步
git
高调的涵涵5 天前
删了1.2GB,.git仍是1.2GB
git
程序员沉梦听雨5 天前
【Git】git-submodule子模块管理
git