前言
有些时候我们不想将本地文件或文件夹提交到git远程仓库,这个时候我们怎么做呢?我们以前端项目中的config.js为例来说明。
操作
1、忽略本地文件
比如:远程仓库config.js
export default {
host: 'http://baidu.com'
}
我本地的config.js
export 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
3、如果出现git fatal: Unable to mark file
,说明你解决了冲突合并了代码没有commit,只要git commit然后再执行git update--index即可
引用
git错误解决:Your local changes to the following files would be overwritten by merge
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。