gitignore坑了同事

453 阅读2分钟

之前我换了mac,本身我们的系统就是屎山,所以安装依赖的时候,莫名其妙报了很多错,想用就得升级报错的依赖,然后跟依赖有关的有一个proxy文件也需要改。其他动的比较多的部分,就没改,也可以跑。

于是我本地的代码和其他同事的代码,有package.json和proxy文件会不同,为了不用每次上传的时候,都麻烦(我这边不传那两个文件,就写进ignore了),然后我还抖了个机灵,心想,如果我的ignore文件也被忽视,那么,这三个文件就都不会传上去啦,只用传改过的其他文件。

于是机灵的我,在.gitignore里面加了如下这段

# for hr mac
package.json
src/setupProxy.js
.gitignore

结果第二天上班的时候,同事都疯了,他们都报错,起不起来,有的昨天代码没提交,加上这边报错,然后就疯了。

git reset --hard 68712c6de859f5e891b02e76cf6c82d44d484948

解决方法,执行上面的命令,恢复到之前的版本,慢慢捋。

ignore,原来以为是忽视了本地的文件,仓库里的还在。实际上ignore了以后,仓库的就被删除了。

常用git命令

git add .     
git commit -m "xxx"   
git push

git checkout 分支   //切换分支

git stash    //缓存
git stash pop   //恢复缓存 

git rm -r --cached .   //清除本地缓存

gitignore规则

#maven
target/

#IDEA
.idea/
*.iml

#eclipse
.settings/
.metadata/
.classpath
.projectServices/

#: 注释一行

aa/: 忽略aa目录下的所有文件

bb: 忽略bb文件

*.a: 忽略以.a结尾的文件

!cc.txt: 除了cc.txt文件

如果该项目已经被上传过,本地存在缓存,将会导致以上配置无效,仍然会将文件上传。

因此上传前需要将本地缓存清除。然后再push。