前言
有些时候我们不想将本地文件或文件夹提交到git远程仓库,这个时候我们怎么做呢?我们以前端项目中的config.js为例来说明。
操作
1、忽略本地文件
比如:远程仓库config.jsexport default {
host: 'http://baidu.com'
}
我本地的config.jsexport default {
host: 'http://localhost:8080'
}
现在我们使用命令git pull origin master的时候,会出现冲突,所以我们不想提交本地的config.js永远不同步远程仓库里面的config.js,我们可以如下操作:git update-index --assume-unchanged config.js
update-index --assume-unchanged的作用就是忽略本地文件,这样我们add和commit的时候就不会提交到线上了。
2、获取线上更新
虽然我们成功忽略了config.js文件,但是有时候我们又想获取最新的配置内容,但又不想提交,这个时候我们可以使用下面操作命令:// 解除本地忽略
git update-index --no-assume-unchanged config.js
// 暂存
git stash
// 拉取线上更新(这个时候把想要的配置复制下来)
git pull origin master
// 恢复本地配置(把上面的配置粘贴过来)
git stash apply
// 重新忽略
git update-index --assume-unchanged config.js
// 提交
git push origin develop
总结
1、忽略本地文件和文件夹很好的解决不想同步某些配置文件。
2、忽略本地文件夹git update-index --assume-unchanged floder/
注意:忽略文件夹时。后面的斜杠‘/’一定要带上,否则会报错:fatal: Unable to mark file sessions
引用