文章出處


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

下面是一個簡單的.gitignore文件

    # 此為注釋 ,將被 Git 忽略
    # 忽略所有 .a 結尾的文件
    *.a
    # 但 lib.a 除外
    !lib.a
    # 僅僅忽略項目根目錄下的 TODO 文件,不包括 subdir/TODO
    /TODO
    # 忽略 build/ 目錄下的所有文件
    build/
    # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
    doc/*.txt
    # 會忽略掉 doc/ 里面所有的txt文件,包括子目錄下的(**/ 從 Git 1.8.2 之后開始支持 **/ 匹配模式,表示遞歸匹配子目錄下的文件)
    doc/**/*.txt
local.properties #過濾具體文件
!local.properties#添加具體文件
*.[oa]#忽略所有以 .o 或 .a 結尾的文件

被過濾掉的文件就不會出現在你的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


文章列表


不含病毒。www.avast.com
arrow
arrow
    全站熱搜
    創作者介紹
    創作者 大師兄 的頭像
    大師兄

    IT工程師數位筆記本

    大師兄 發表在 痞客邦 留言(0) 人氣()