git-ignore.md
Git 忽略文件不加入版本控制
其它过滤条件 ? : 代表任意的一个字符 * : 代表任意数目的字符 {!ab} : 必须不是此类型 {ab,bb,cx} : 代表ab,bb,cx中任一类型即可 [abc] : 代表a,b,c中任一字符即可 [ ^abc] : 代表必须不是a,b,c中任一字符 在用户目录下创建
.gitignore
# 此为注释 – 将被 Git 忽略
*.a # 忽略所有 .a 结尾的文件
!lib.a # 但 lib.a 除外
/TODO # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO
build/ # 忽略 build/ 目录下的所有文件
doc/*.txt # 会忽略 doc/notes.txt 但不包括 doc/server/arch.txt
tmp/* # 忽略tmp文件夹所有文件,因为git不会加入空目录
其它过滤条件
?: 代表任意的一个字符*: 代表任意数目的字符{!ab}: 必须不是此类型{ab,bb,cx}: 代表ab,bb,cx中任一类型即可[abc]: 代表a,b,c中任一字符即可[ ^abc]: 代表必须不是a,b,c中任一字符
.gitignoreglobal
在用户目录下创建 ~/.gitignoreglobal 文件,
需要执行 git config --global core.excludesfile ~/.gitignoreglobal 来使得它生效。
忽略本地的文件控制,不影响全局
.git/info/exclude 这里设置的是你自己本地需要排除的文件,他不会影响到其他人,也不会提交到版本库中去。
去除已经提交文件的版本控制(公共)
rm -rf PATHgit rm -r --cached PATH- 修改
.gitignore,添加忽略文件 git add -Agit push
忽略已经提交到版本库的文件(本地)
git update-index --assume-unchanged PATH # 忽略跟踪
git update-index --no-assume-unchanged PATH #恢复跟踪
提交空的目录树
需要提交一个空的 log 目录时,在里面放置一个空的.gitignore