Git忽略文件的三个办法
发布时间:2021-07-24, 15:01:43 分类:Linux | 编辑 off 网址 | 辅助
正文 1251字数 183,411阅读
方法一(推荐)
在git中如果想忽略掉某个文件,不让这个文件提交到版本库中,
可以使用修改根目录中 .gitignore 文件的方法(如无,则需自己手工建立此文件)。
Windows系统自带ren(rename-重命名)命令,
linux的文件重命名常用的是mv命令和rename命令,
Run code
Cut to clipboard
1、如果A、B同为文件夹名,则把A移动到B目录下;
2、如果A为文件名,
① B为文件夹名的时候,将把A移动到B目录下;
② B为文件名的时候,将把A重命名为B;如果B所在的位置为另一目录,则表示在把A移动到B所在的目录下的同时,重命名为B。
这个文件每一行保存了一个匹配的规则例如:
# 此为注释 – 将被 Git 忽略
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
Run code
Cut to clipboard
有时候在项目开发过程中,需要把忽略某些目录或文件的修改,
把匹配规则加入忽略文件.gitignore后,发现不生效,没什么卵用
原因是.gitignore只能忽略那些原来没有被track的文件,
如果某些文件已经被纳入了版本管理中,则修改.gitignore是无效的。
解决方法就是把忽略文件的本地缓存删除,即改变成未track状态。
步骤如下:
git rm -r --cached . // 这里.可以换成你想忽视的文件,这样就能仅仅把想忽视的文件从本地缓存删除
Run code
Cut to clipboard
修改.gitignore文件
git add . // 这里.可以换成你想忽视的文件 + gitignore文件
git commit -m 'update .gitignore' // 提交
Run code
Cut to clipboard
⚠️ 注意:要先把忽略文件从本地缓存删除 和 修改.gitignore文件 提交后,再对忽略文件进行修改,这时忽略规则才会生效(忽略 对忽略文件的修改)。
若顺序颠倒,那么对忽略文件的修改还是会提交的,导致忽略规则未生效的假象,弄得自己心烦意乱,切记切记!!!
方法二
在每个clone下来的仓库中手动设置不要检查特定文件的更改情况。
git update-index --assume-unchanged PATH 在PATH处输入要忽略的文件。
方法三
git 还提供了另一种 exclude 的方式来做同样的事情,
不同的是 .gitignore 这个文件本身会提交到版本库中去。
用来保存的是公共的需要排除的文件。
而 .git/info/exclude 这里设置的则是你自己本地需要排除的文件
(支付宝)给作者钱财以资鼓励 (微信)→
暂无评论 »