Git pull合并二进制文件失败,如何丢弃本地修改拉取远端main分支版本
Git pull 覆盖本地修改操作步骤
前置操作:释放文件占用
你遇到的Unlink of file failed报错是因为 Vivado 相关进程正在锁定工程文件,先完全关闭所有打开的 Vivado 工程、仿真任务,解除文件占用后再执行后续操作。
步骤1:清理未跟踪文件
报错提示的ee108_final_project.runs/.jobs/vrs_config_10.xml属于未被 Git 跟踪的本地文件,git rm仅适用于删除 Git 已纳入版本管理的文件,因此直接用系统删除命令清理即可:
- Windows 终端执行:
del ee108_final_project.runs\.jobs\vrs_config_10.xml - Mac/Linux 终端执行:
rm ee108_final_project.runs/.jobs/vrs_config_10.xml
步骤2:用远程main分支内容完全覆盖本地
因为你不需要保留任何本地修改,直接执行以下命令将本地分支同步为远程main分支的最新状态:
# 拉取远程main分支的最新提交记录,不合并 git fetch origin main # 硬重置本地main分支,所有本地修改、冲突的二进制文件都会被远程版本完全覆盖 git reset --hard origin/main
执行完成后本地已经和远程main完全同步,无需再执行git pull。
后续常规拉取的冲突解决方案
如果后续正常开发提交后拉取更新时,再次遇到二进制文件合并冲突,想要默认选用远程版本覆盖本地,执行以下命令即可:
git pull -X theirs
内容的提问来源于stack exchange,提问作者Erik Luna
相关产品推荐
相关产品推荐

