Git拉取变基冲突时,快速选择远程分支所有修改的方法
解决Git Rebase大量冲突:直接采用远程分支修改的快捷方式
当你执行git pull --rebase遇到大量文件冲突,不想手动编辑解决时,有两种快捷方式可以直接采用远程分支的修改,忽略本地对应文件的改动:
1. 在Rebase冲突中断后,保留已完成的Rebase步骤,仅替换冲突文件
如果不想中断整个rebase流程,只想解决冲突部分:
- 对单个冲突文件采用远程版本:执行
git checkout --theirs <冲突文件名> - 对所有冲突文件批量采用远程版本:执行
git checkout --theirs . - 将修改标记为已解决:
git add . - 继续rebase流程:
git rebase --continue
注意:在rebase场景下,
--theirs对应的是远程分支的版本,--ours对应的是本地当前分支的原有修改,别搞反了。
2. 直接终止Rebase,将本地分支完全重置为远程分支状态
如果想彻底放弃本地所有未推送的修改,直接和远程分支保持一致:
- 终止当前的rebase流程:
git rebase --abort - 硬重置本地分支到远程分支的最新状态:
git reset --hard origin/<远程分支名>(比如git reset --hard origin/main)
这种方式会直接丢弃本地所有未提交、未推送的修改,执行前请确认自己不需要这些本地改动。
内容的提问来源于stack exchange,提问作者Student4K
相关产品推荐
相关产品推荐

