--
layout: blog
title: 'Git提交文件后和人合并pull提示几个系统文件无法会被覆盖无法合并'
date: 2017-06-01 12:11:34
categories: blog
tags: code
image: ''
lead-text: 'Git提交时遇到的坑'
最近项目在合作开发之后,都无法pull,报了这么一个错误
Some untracked working tree files would be overwritten by Pull. Please move or remove them before you can Pull.
按照网上的 git stash 这种将当前改动添加到缓存中不行,因为此时已经没有了要进行缓存的东西了;经过
多方查找之后找到使用
git clean -d -fx
将文件系统清理,然后再次pull就能获取远程仓库了。clean命令将没有tracked的文件删除,这样就不会和远程仓库的相应文件发生冲突导致无法pull了.
猜测:
前因:最开始使用git进行版本管理的时候,所有人的代码版本没有进行统一,在gitignore的时候没有统一的
设置忽略文件设置,导致一开始上传的文件中有很多系统文件,当其他人pull下来另外一个人的项目之后就出现了各种混乱和不堪和错误。
后面由于没有整理和注意,当一个人把自己的项目配置文件等上传上去之后,和其他人的出现冲突,就导致了上面无法合并的问题。
解决:在出现这个问题之前,确保团队成员的项目版本一致,确保大家的gitignore文件相同,将项目配置文件忽略掉。
出现这个问题之后,使用 git clean -d -fx 将本地仓库进行删除修复,然后pull下来别的项目代码,此时注意由于项目可能比较大导致文件刷新比较慢并且出现一些文件丢失的假象,此时需要耐心等待,然后将Android Studio进行重启。
总结:使用Git进行项目管理,在开始时确保团队成员的忽略文件一致;不能上传项目的本地配置文件,团队中有人使用MacOS有人使用Windows的,并且可能版本不一样导致这些问题