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

相关推荐
SiYuanFeng10 小时前
新手学Git:如何把本地 Git 项目上传到 GitHub
git·github
前端若水12 小时前
git回退并合并分支操作
git
程序员鱼皮17 小时前
Git WorkTree 是什么?凭什么能让 AI 编程效率翻倍?
git·ai·程序员·编程·ai编程
懵逼的小黑子19 小时前
git与远程仓库创建连接
git
前端若水20 小时前
Git 撤销与恢复完全指南(超级详细版)
大数据·git·elasticsearch
golang学习记20 小时前
Git 2.54 来了,这个新命令让我终于敢重写历史了
git·后端
其实防守也摸鱼20 小时前
AWVS下载和安装保姆级教程
linux·服务器·git
前端若水20 小时前
Git 可以做的所有操作(完整分类)
大数据·git·elasticsearch
叹一曲当时只道是寻常21 小时前
Reference 工具安装与使用教程:一条命令管理 Git 仓库引用与知识沉淀
人工智能·git·ai·开源·github
前端若水21 小时前
Git 仓库管理命令完全指南(超级详细版)
大数据·git·elasticsearch