Git合并时migrations目录未跟踪文件冲突问题解决方案咨询
解决方法
第一步:清理远程仓库的migrations文件跟踪记录
先在本地执行命令,将远程仓库中migrations目录下的文件从Git跟踪中移除(不会删除本地文件):
# 移除migrations目录下所有文件的跟踪 git rm --cached directory/backend/migrations/* # 若目录本身被Git跟踪,同步移除目录的跟踪 git rm --cached directory/backend/migrations/
提交变更并推送到远程仓库:
git commit -m "停止跟踪migrations目录文件" git push origin <你的分支名>
第二步:确保本地.gitignore配置生效
检查.gitignore文件,确认已添加正确的忽略规则:
# 全局忽略migrations目录 /migrations/ # 或针对具体路径 directory/backend/migrations/
若之前本地migrations文件被意外跟踪过,执行以下命令移除本地跟踪(不删除文件):
git rm --cached directory/backend/migrations/*
第三步:执行合并操作
此时远程仓库已不再跟踪migrations目录的文件,本地文件也处于未跟踪状态,直接执行合并即可:
git merge <目标分支名>
应急方案:临时跳过文件覆盖提示
如果暂时无法修改远程仓库的跟踪状态,可使用以下命令强制合并并保留本地未跟踪的migrations文件:
git merge --strategy-option ours <目标分支名>
注意:这只是临时规避手段,长期建议清理远程的跟踪记录,避免后续重复出现问题。
内容的提问来源于stack exchange,提问作者Francis C
相关产品推荐
相关产品推荐

