- .gitignore文件配置
最常用的忽略设置, 可以设置整个项目要忽略的文件夹, 对于已经在track的文件, 需要先移除track, 具体操作网上很多. 这种方式常用语忽略第三方库, 临时文件和配置文件, 关于配置文件设置, 在网上找到一个不错的办法
引自:https://segmentfault.com/q/1010000000430426
对于充当模版的文件,在文件名上加以区分然后用 Git 记住。比如说实际的配置文件应该叫 database.conf,在写好模版之后可以更名为 database.conf.example。Git 记录 database.conf.example 但是忽略 database.conf。
每一个人克隆下来之后,复制一份 database.conf.example 为 database.conf 然后修改后者以符合本地的要求。由于后者是在 .gitignore 里的,所以不会被记录,也完全不需要 update-index。
- exclude文件配置
这个文件在 .git/info/exclude 和 .gitignore文件的配置方式相同, 不同点在于exclude中的配置不会影响其他人, 这个东西做了下实验, 发现没有效果, 可能是我姿势不对, 目前也没想到应用场景 - git update-index --assume-unchanged PATH
在PATH处输入要忽略改动的文件, 例如:git update-index --assume-unchanged logs/*.log
将会忽略logs文件夹下的所有log后缀的文件改动, 注意, 这个忽略并非是不记录, 而是让git假装目标文件没有改变, 关于这个文件的正确用法:
引自:https://segmentfault.com/q/1010000000430426
应用了该标识之后,Git 停止查看工作区文件可能发生的改变,所以你必须 手动 重置该标识以便 Git 知道你想要恢复对文件改变的追踪。当你工作在一个大型项目中,这在文件系统的 lstat 系统调用非常迟钝的时候会很有用。
- 你正在修改一个巨大的文件,你先对其 git update-index --assume-unchanged,这样 Git 暂时不会理睬你对文件做的修改;
- 当你的工作告一段落决定可以提交的时候,重置改标识:git update-index --no-assume-unchanged,于是 Git 只需要做一次更新,这是完全可以接受的了;
- 提交+推送。
- git update-index --skip-worktree PATH
https://www.zhihu.com/question/25234996
--assume-unchanged 假定开发人员不会更改文件。此标记旨在为无变化文件夹(如 SDK)改善性能。
--skip-worktree 用于命 GIT 不再染指特定文件——即便开发人员可能更改它——的情形。例如,如果主源码库上游承载某些即将投入生产的配置文件而你不希望意外的提交影响到那些文件,--skip-worktree 正是你的菜。
相关资料
git忽略已经被提交的文件 评论有很多干货
git 中的 assume-unchanged 与 skip-worktree 的区别是什么?
https://segmentfault.com/q/1010000004164349?_ea=513032