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


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

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

Git仓库某一个文件夹里的文件离奇丢失的问题_第1张图片

Git仓库某一个文件夹里的文件离奇丢失的问题_第2张图片

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

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

Git仓库某一个文件夹里的文件离奇丢失的问题_第3张图片

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

Git仓库某一个文件夹里的文件离奇丢失的问题_第4张图片

然后先在我自己的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,异常,经验,开源,编程,经验分享)