Git忽略UserInterfaceState.xcuserstate、DS_Store和.orig

Git 忽略Xcode工程中UserInterfaceState.xcuserstate文件

1.在.git同一级目录下添加 .gitignore(文件存在跳过此步骤):

vim .gitignore

2.在.gitignore中添加以下内容(具体匹配规则见文章结尾):

*.xcuserstate
project.xcworkspace
xcuserdata
UserInterfaceState.xcuserstate
project.xcworkspace/
xcuserdata/
UserInterface.xcuserstate

3.退出Xcode,并在当前项目根目录下输入:

\\也可以把终端提示的xcuserstate那一句直接粘贴过来
git rm --cached [YourProjectName].xcodeproj/project.xcworkspace/xcuserdata/[ YourUsername].xcuserdatad/UserInterfaceState.xcuserstate
\\提交到本地Git仓库
git commit -m "commit message"
\\*在合适的时候提交到远程服务器
git push origin master

Git 忽略Xcode工程中DS_Store文件

1.在当前工程中忽略DS_Store

//打开.gitignore文件
vim .gitignore 
//在里面输入
.DS_Store
*/.DS_Store
//保存后退出

2.全局配置忽略文件:

//在.gitconfig同级目录(一般在用户根目录 cd ~)中创建.gitignore_global文件
touch .gitignore_global
//将需要忽略的内容填入,例如刚才的忽略DS_Store操作,或者其他需要的操作
//执行:
git config --global core.excludesfile ~/.gitignore_global 
//配置成功,可以查看自己的全局配置,也可以去具体项目中验证
git config --list

3.忽略.orig

//使用git mergetool合并分支时,总会产生以*.orig为扩展名的备份文件,可以修改Git配置,禁止产生备份文件
git config --global mergetool.keepBackup false
//或者直接进入系统用户目录下,修改.gitconfig文件,增加如下内容:
[mergetool]
    prompt = true
    keepBackup = false

资料补充:

文件 .gitignore的格式规范如下:

1.所有空行或者以注释符号 # 开头的行都会被 Git 忽略。
2.可以使用标准的 glob 模式匹配。
3.匹配模式可以以(/)开通防止递归。
4.匹配模式可以以(/)结尾指定目录。
5.要忽略指定模式以外的文件或目录,可以在模式前加上惊叹号(!)取反。

glob模式:所谓glob模式是指shell所使用的简化了的正则表达式。
1.*:任意个任意字符。
2.[]:匹配任何一个在方括号中的字符。
3.?:匹配一个任意字符。
4.[0-9]:匹配字符范围内所有字符。
5.a/**/z:两个星号表示匹配任意中间目录

你可能感兴趣的:(Git忽略UserInterfaceState.xcuserstate、DS_Store和.orig)