一:gitignore
注释
以井号(#)开头的行是注释,将被忽略。空行可以用来提高文件的可读性,并可以对相关的模式行进行分组
斜杠符
斜杠符号(/)是目录的分隔符。
斜杠开头模式相对于.gitignore所在的目录。
如果模式以斜杠开头,则仅从仓库的根目录中开始匹配文件和目录。
如果模式不是以斜杠开头,则它将匹配任何目录或子目录中的文件和目录
如果模式以斜杠结尾,则仅匹配目录。当目录被忽略时,其所有文件和子目录也将被忽略
文件名
最直接的模式是没有任何特殊字符的文件名。例如/access.log仅匹配access.log。而access.log将会匹配当前目录与子目录 access.log,logs/access.log ,var/logs/access.log。当以/斜杠符号结束时则匹配目录。例如build/匹配build目录。
通配符
*
星号符号匹配零个或多个字符。例如*.log模式将匹配error.log,logs/debug.log,build/logs/error.log等所有目录下以.log作为扩展名的文件。
**
两个相邻的星号符号匹配任何文件或零个或多个目录。当后跟斜杠(/)时,它仅与目录匹配。例如,logs/将会匹配logs目录中所有文件与目录。/build将匹配所有目录中出现以build命名目录与文件var/build,pub/build。
模式foo/**/bar将匹配foo/bar,foo/a/bar,foo/a/b/c/bar。
?
问号匹配单个任意字符。例如模式access?.log将会匹配access0.log,access1.log,accessA.log 。
反模式
以感叹号(!)开头的模式将否定先前模式。此规则的例外是,如果排除了其父目录,则重新包含文件。例如模式 *.log与!error.log这将会匹配所有以.log作为扩展名文件,但不匹配error.log。
忽略以前提交的文件
你的工作副本中的文件可以被追踪,也可以不被追踪。要忽略先前提交的文件,你需要取消暂存并从索引中删除该文件,然后在.gitignore中添加该文件模式:
git rm --cached filename
--cached
选项告诉git不要从工作树中删除文件,而只是从索引中删除它。要递归删除目录,请使用-r选项:
如果要从索引和本地文件系统中删除文件,请忽略–cached选项。以递归方式删除文件时,使用-n选项将执行空运行并显示要删除的文件:
git rm -r -n directory
显示所有被忽略的文件
带有–ignored选项的git status命令显示所有被忽略文件的列表
git status --ignored
二:文件操作
- 清空未跟踪文件或目录
git clean -n #查看为跟踪文件
git clean -f #删除未跟踪文件,但不删除文件夹
git clean -df #删除未跟踪文件已经文件夹
- 添加空文件夹
git默认忽略空文件夹
find ./ -type d -empty -exec touch {}/.gitkeep \;
三:切换仓库地址
git remote rm origin
git remote add origin addr
四:记录用户名和密码
git config --global credential.helper store