忽略文件只对未跟踪的文件有效,对于已经加入版本库的文件无效!!!
忽略规则:
1.’#’是注释,将被git忽略。
2.可以使用Linux通配符。
3.如果名称的最前面有一个感叹号(!),表示例外规则,将不被忽略
4.如果名称的最前面有一个路径分隔符(/),表示将忽略的文件在此目录下,而子目录中的文件不忽略
5.如果名称的最后面有一个路径分隔符(/),表示要忽略的是此目录下该名称的子目录,而非文件(默认文件或目录都忽略)
!lib.a #但lib.a除外
/TODO #仅仅忽略项目根目录下的TODO文件,不包括subdir/TODO
build/ #忽略build/目录下的所有文件
doc/*.txt #忽略doc/notes.txt,但不包括doc/server/arch.txt
在代码控制的时候,本地工程的很多文件是不需要被提交的。Xcode创建的工程中有 .gitignore配置文件可以用来设置在git提交时需要被忽略的文件。
一、配置.gitignore文件:
1.方法一:
1)编辑exclude文件
$ vim .git/info/exclude
2)将要忽略的文件名写入文件
$ myfile
2.方法二:
1)首先要添加或者创建一个.gitignore文件,可使用以下代码创建(不包括$)
$ touch .gitignore
2)打开文件
$ open .gitignore
3)添加需要被忽略的文件,这是一个.gitignore配置文件
# Xcode
.DS_Store
build/
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
#*.xcworkspace
#!default.xcworkspace
xcuserdata
profile
*.moved-aside
DerivedData
.idea/
*.xcuserstate
# Pods - for those of you who use CocoaPods
#Pods
‘#’是注释,可以使用正则表达式。
4)若没有生效,使用以下代码删除当前缓存
$ git rm —cached xxx.project/project.xcworkspace/xcuserdata/mac.xcuserdatad/UserInterfaceState.xcuserstate
$ git commit -m "add file to .ignore file"
$ git push
5)也可以打开文件夹,按以上路径直接找到UserInterfaceState.xcuserstate文件并删除
PS:个人在使用4)git rm —cached指令的时候是失败的,具体原因未查明,后用5)手动删除。
3.测试:再提交就显示没有药添加的文件了
$ git add .
二、
如果需要为本工程配置该文件,需要将文件放置在工程目录下;
如果为所有工程配置,则需要使用终端来完成。
打开终端输入git config 命令:
$ git config --global core.excludesfile ~/.gitignore
该命令会将配置信息写入到~/.gitignore文件中, -global参数是配置全局信息,~/.gitignore说明文件是放置于当前用户目录下的
为了使本机上的所有代码库都默认使用git用户,还需要执行如下命令进行配置:
$ git config --global user.name git