.gitignore
- .gitignore文件用來(lái)
忽略指定文件或者文件夾的修改; - 被記錄在.gitignore中的文件或文件夾,會(huì)被Git忽略,不會(huì)推到遠(yuǎn)程倉(cāng)庫(kù);
- 文件已存到遠(yuǎn)程倉(cāng)庫(kù)中,添加到.gitignore文件,是無(wú)法忽略的;
記錄順序:
- 一、.gitignore文件;
- 二、兩種過濾模式;
- 三、通配符;
- 四、已提交到遠(yuǎn)程的文件,想忽略它;
一、.gitignore文件
- 終端,遍歷到項(xiàng)目文件路徑:
- 創(chuàng)建.gitignore
touch .gitignore
- 打開gitignore
vim .gitignore
- 輸入配置配置 (示例:Xcode項(xiàng)目忽略的文件)
# Xcode
.DS_Store
## Build generated
build/
DerivedData/
## Various settings
*.pbxuser
!default.pbxuser
*.mode1v3
!default.mode1v3
*.mode2v3
!default.mode2v3
*.perspectivev3
!default.perspectivev3
xcuserdata/
## Other
*.moved-aside
*.xccheckout
*.xcworkspace
!default.xcworkspace
## Obj-C/Swift specific
*.hmap
*.ipa
*.dSYM.zip
*.dSYM
# CocoaPods
Pods
!Podfile
!Podfile.lock
# Carthage
Carthage/Build
# fastlane
fastlane/report.xml
fastlane/Preview.html
fastlane/screenshots
fastlane/test_output
# Code Injection
iOSInjectionProject/
生成配置的網(wǎng)站

gitignore.io.png
在網(wǎng)站上輸入Objective-C和Swift會(huì)生成一份配置;

配置.png
參考資源:
https://bingozb.github.io/37.html
https://www.cnblogs.com/haiq/archive/2012/12/26/2833746.html
https://www.cnblogs.com/kevingrace/p/5690241.html
二、兩種過濾模式
.gitignore文件過濾有兩種模式:
- 開放模式
- 保守模式
1- 開放模式
- 過濾文件夾
build/
- 過濾文件
*.ipa
fastlane/report.xml
fastlane/* //fastlane目錄下的所有內(nèi)容,包括子目錄;
/fastlane/* //根目錄下,/fastlane/目錄的所有內(nèi)容;
2- 保守模式
- 通過
!設(shè)置不過濾哪些文件,即希望這些文件的修改會(huì)被Git跟蹤;
!Podfile
!src/
- 使用場(chǎng)景:
需要過濾文件夾下的大部分文件,只跟蹤其中一個(gè)文件:
fastlane/* //注意:文件夾后要加上/*,否則無(wú)法實(shí)現(xiàn)效果;
!fastlane/report.xml
三、通配符
-
!表示不忽略; -
*匹配任意字符; -
?匹配一個(gè)字符; -
[]匹配括號(hào)內(nèi)的單個(gè)字符; -
-表示連貫的字符; -
^表示除外;
*.log
demo_1?.txt
demo[0-9] //匹配0~9的單個(gè)字符;
demo[^0-9] //匹配除去0~9的單個(gè)字符
四、已提交到遠(yuǎn)程的文件,想忽略它
- 1- 先添加文件到
.gitignore文件中; - 2-
git rm -r --cached .命令刪除本地目錄的緩存; - 3- 更新到遠(yuǎn)程;
git rm -r --cached .
git add .
git commit -m "更新gitignore文件"
git push origin master
清除單個(gè)文件的緩存:
git rm --cached <文件>
.gitkeep的作用
Git無(wú)法追蹤一個(gè)空文件夾:
- 用戶需要追蹤一個(gè)空文件夾時(shí),把
.gitkeep文件放到文件夾下里; - 在.gitignore中添加需要忽略的文件夾;
# .gitignore
work/*
!.gitkeep
Git忽略work文件夾下,除.gitkeep外的所有文件;
Git就可以實(shí)現(xiàn)追蹤空文件夾;