添加gitignore,并解決添加無效問題

.gitignore 文件是忽略文件,是不需要git 去跟蹤的文件,忽略的文件只存在于你的本地,不需要提交到git倉庫,比如pod文件。

創(chuàng)建gitignore:

1、touch .gitignore 2。open .gitignore

粘貼:

#CocoaPods

Pods/?

# Xcode

#

# gitignore contributors: remember to update Global/Xcode.gitignore, Objective-C.gitignore & Swift.gitignore

# Mac OS X Finder and whatnot

.DS_Store

## Build generated

build/

DerivedData/

## Various settings

*.pbxuser

!default.pbxuser

*.mode1v3

!default.mode1v3

*.mode2v3

!default.mode2v3

*.perspectivev3

!default.perspectivev3

xcuserdata/

## Other

*.moved-aside

*.xcuserstate

*.xccheckout

## Obj-C/Swift specific

*.hmap

*.ipa

*.dSYM.zip

*.dSYM

此文件要在工程目錄的根目錄下創(chuàng)建,最外層:


其實在coding上創(chuàng)建項目的時候要注意將readme 和 gitignore勾選,這樣拉下來的項目就含有g(shù)itignore文件了。


如果該文件不可見,可以使用以下命令:(都是全局改變)

對于OS X Mavericks 10.9:

defaults?write?com.apple.finder?AppleShowAllFiles?TRUE

對于以前的OS X版本,

efaults?write?com.apple.Finder?AppleShowAllFiles?TRUE

此時可能你會發(fā)現(xiàn),即便使用了以上指令仍然看不到,那么你需要重啟一下finder

指令:killall?Finder

這樣就能看到gitignore文件了,并把該文件提交到版本庫。等再次提交代碼時,里面的忽略文件就不會再出現(xiàn)了。

#####.gitignore?的格式規(guī)范如下:

-?所有空行或者以?#?開頭的行都會被 Git 忽略。

-?可以使用標(biāo)準(zhǔn)的 glob 模式匹配,它會遞歸地應(yīng)用在整個工作區(qū)中。

-?匹配模式可以以(/)開頭防止遞歸。

-?匹配模式可以以(/)結(jié)尾指定目錄。

-?要忽略指定模式以外的文件或目錄,可以在模式前加上嘆號(!)取反

所謂的 glob 模式是指 shell 所使用的簡化了的正則表達式。 星號(*)匹配零個或多個任意字符;[abc]匹配任何一個列在方括號中的字符 (這個例子要么匹配一個 a,要么匹配一個 b,要么匹配一個 c); 問號(?)只匹配一個任意字符;如果在方括號中使用短劃線分隔兩個字符, 表示所有在這兩個字符范圍內(nèi)的都可以匹配(比如?[0-9]?表示匹配所有 0 到 9 的數(shù)字)。 使用兩個星號(**)表示匹配任意中間目錄,比如?a/**/z?可以匹配?a/z?、?a/b/z?或?a/b/c/z?等

```

# 忽略所有的 .a 文件

*.a

# 但跟蹤所有的 lib.a,即便你在前面忽略了 .a 文件

!lib.a

# 只忽略當(dāng)前目錄下的 TODO 文件,而不忽略 subdir/TODO

/TODO

# 忽略任何目錄下名為 build 的文件夾

build/

# 忽略 doc/notes.txt,但不忽略 doc/server/arch.txt

doc/*.txt

# 忽略 doc/ 目錄及其所有子目錄下的 .pdf 文件

doc/**/*.pdf

```

#####注意 有時候添加了gitignore 發(fā)現(xiàn)不起作用

如果gitignore 是隨著工程創(chuàng)建的時候添加的,那么后續(xù)跟蹤的文件都會被篩選出來,如果是半路添加的,可能因為里面要過濾的文件已經(jīng)存在于倉庫被跟蹤的狀態(tài),所以就不會成功。

解決:

```

1、?進入工程,終端輸入: git ls-files 查看都跟蹤了哪些文件,如下圖,說明Pods/下的文件都被跟蹤了,其實是不需要的

```

,

```

2、從倉庫中移除不需要跟蹤的文件?git rm -r --cached 文件名/ -f

如:git rm -r --cached Pods/ -f ,下圖顯示已經(jīng)移除

```

```

3、檢查是否移除干凈??git ls-files

4、暫存修改,提交倉庫

```

好啦,現(xiàn)在倉庫里都是干凈的文件了,都看到這了,留個小愛心再走吧,嘿嘿~

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

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

  • Spring Cloud為開發(fā)人員提供了快速構(gòu)建分布式系統(tǒng)中一些常見模式的工具(例如配置管理,服務(wù)發(fā)現(xiàn),斷路器,智...
    卡卡羅2017閱讀 136,644評論 19 139
  • 項目組件化、平臺化是技術(shù)公司的共同目標(biāo),越來越多的技術(shù)公司推崇使用pod管理第三方庫以及私有組件,一方面使項目架構(gòu)...
    swu_luo閱讀 22,862評論 0 39
  • 本文為 Git教程的學(xué)習(xí)筆記,教程源自廖雪峰的博客。這是一個由淺入深,學(xué)完后能立刻上手的Git教程。另,附上另一本...
    七弦桐語閱讀 6,484評論 5 47
  • 對人而言,時間就是命運,我們的時間花在什么地方,我們的人生也多與此有關(guān),掌控時間,才得以掌控人生。 有沒有發(fā)現(xiàn),我...
    柳絮紛飛啊閱讀 656評論 4 8
  • 定義局部最小的概念。arr長度為1時,arr[0]是局部最小。arr的長度為N(N>1)時,如果arr[0]<ar...
    IT_Matters閱讀 921評論 0 1

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