您的位置:首页 > 其它

Git仓库某一个文件夹里的文件离奇丢失的问题

2016-01-23 13:17 731 查看
最近我在开发一个智能硬件产品的项目,涉及了硬件、软件两个方面,用同一个git项目的不同分支进行协同,例如硬件小伙伴使用hardware分支,软件小伙伴使用software分支,分支间差异较大,例如hardware分支就是纯电路图,software分支就是纯代码的情况;

software分支引用了一些开源的代码,Simpleini和Arduino-IRremote,直接通过git clone方式获取到开发的文件目录中,在software分支上各种提交操作等,未发现异常情况,直到有天我切到了hardware分支,然后再切回去,发现Simpleini和Arduino-IRremote文件夹中的文件都不见了,然后我去gitcaft上查看已经push到远端仓库的内容,发现这里是这样的:





这两个文件夹都是点不开的,而且丢失文件的文件夹后面都被追加了 @****(正好是我引用代码处的提交点) ,原来该文件夹的内容根本就没有被跟踪上;文件都没有被跟踪上,也就更无法使用git 恢复了;

对此问题百思不得其解,google各种解决方案,看到一句话警醒了我:



好激动,我又重新从github上获取了代码,将相应的.git文件夹都删掉,如下图:



然后先在我自己的git项目路径,执行git rm指令删除那两个异常的文件夹,或直接手动删掉那两个文件夹;

将新的代码再次放入原有目录,先后执行add、commit、push,然后查看gitcafe的代码,一切正常了;

如果引用了第三方的代码,还想加入自己的项目中,又还不想删掉里面的.git目录,那还有种方法是将其作为本项目的子模块,参考(这种方式我没有验证过,仅供大家参考吧):https://git-scm.com/book/zh/v1/Git-%E5%B7%A5%E5%85%B7-%E5%AD%90%E6%A8%A1%E5%9D%97
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  git 异常 经验 开源