冲突报错
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 的目标分支上都有修改。
正确操作步骤如下:
- 查看冲突内容
bash
git diff ansible/inventory/tju
你会看到类似下面的标记:
<<<<<<< HEAD
你的修改内容
=======
目标分支的修改内容
>>>>>>> f1def41fc
需要手动选择保留哪一部分,或者合并两边内容。
- 标记冲突解决完成
编辑完文件后,保存,然后执行:
bash
git add ansible/inventory/tju
- 继续 rebase
bash
git rebase --continue
如果还有其他冲突,重复步骤 1~3。
- 可选操作
- 如果你决定不保留当前 commit,可以跳过:
bash
git rebase --skip
- 如果想放弃 rebase,回到最初分支状态:
bash
git rebase --abort
⚠️ 提示 :当前状态下,Changes to be committed 已经列出了你新增/修改的文件,但 冲突文件必须先解决并 git add ,否则 --continue 会报错。
如果你需要,我可以帮你写一个 快速合并 ansible/inventory/tju 冲突的模板,直接保留两边或者选一个版本。你希望怎么处理冲突?