之前我换了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。