拉取Django项目至远程服务器时遇Git冲突报错的解决方案咨询
解决Git Pull时未跟踪文件覆盖问题的方法
遇到这个报错是因为你的服务器上存在一些Git未跟踪的文件,Git默认会阻止合并操作,避免误删你的本地文件。既然你明确想用GitHub上的内容完全覆盖服务器上的文件,可以按照以下步骤操作:
方法一:清理未跟踪文件后拉取
这是最直接的方式,先删除服务器上所有未被Git跟踪的文件和目录,再拉取最新代码:
- 先确认哪些是未跟踪的文件(可选但建议做,避免误删重要内容):
git status
- 强制删除所有未跟踪的文件和目录(⚠️ 注意:这个操作会永久删除这些文件,无法恢复,若有重要文件请先备份):
git clean -fd
-f参数:强制删除未跟踪的文件-d参数:同时删除未跟踪的目录
- 拉取GitHub上的最新代码:
git pull origin master
方法二:强制重置到远程分支状态
如果你想直接把服务器上的分支状态完全同步到GitHub的master分支,也可以用这个方法:
- 先拉取远程分支的最新状态(不会修改本地文件,只是更新本地的远程分支缓存):
git fetch origin master
- 强制将当前分支重置到远程master分支的状态(⚠️ 这会覆盖所有已跟踪文件的本地修改,未跟踪文件仍需用
git clean -fd删除):
git reset --hard origin/master
重要提醒
无论用哪种方法,请务必先确认服务器上的未跟踪文件没有需要保留的内容,如果有重要配置文件(比如数据库配置、环境变量文件),建议先备份到服务器的其他目录,再执行上述操作。
内容的提问来源于stack exchange,提问作者Borybar
相关产品推荐
相关产品推荐

