天天看點

Github .gitignore詳解

     在使用git作版本控制時,git會預設把git控制的檔案夾裡面的所有檔案都加入到版本控制。但是在實踐中,我們經常會遇到不想某些檔案或檔案夾被git追蹤的情況.比如logs檔案、代碼建構過程中産生的一些列檔案,要解決這種問題,通常情況下我們需要建立一個檔案格式字尾名為.gitignore的檔案,來控制哪些檔案不被git追蹤.

下面是一個簡單的.gitignore檔案

被過濾掉的檔案就不會出現在你的GitHub庫中了,當然本地庫中還有,隻是push的時候不會上傳

注意:如果你不慎在建立.gitignore檔案之前就push了項目,那麼即使你在.gitignore檔案中寫入新的過濾規則,這些規則也不會起作用,Git仍然會對所有檔案進行版本管理。

下面是gitignore檔案的書寫規則:

空白或者以#開始的文字将被忽略, 注釋一行可以用 #.

可以使用通配符,例如*.

使用 / 結束可以比對檔案夾,比如 doc/ 将比對doc檔案夾.

使用’!'來聲明一個非語句. 比如!lib.txt 将不會忽略lib.txt

其實很簡單,了解了基本規則之後就可以書寫自己的gitignore檔案了,下面這個是github提供的一些常用的gitignore規則,可以試着去了解下.

當然大招在這,github上一個開源的All in One .gitignore,總有一款适合你.

# Compiled source #

###################

*.com

*.class

*.dll

*.exe

*.o

*.so

# Packages #

############

# it's better to unpack these files and commit the raw source

# git has its own built in compression methods

*.7z

*.dmg

*.gz

*.iso

*.jar

*.rar

*.tar

*.zip

# Logs and databases #

######################

*.log

*.sql

*.sqlite

# OS generated files #

.DS_Store

.DS_Store?

._*

.Spotlight-V100

.Trashes

ehthumbs.db

Thumbs.db