Git 忽略文件.gitignore

.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

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)追蹤空文件夾;

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容