1. 程式人生 > >Git使用-.gitignore檔案(使一些檔案不上傳到git)

Git使用-.gitignore檔案(使一些檔案不上傳到git)

一般我們總會有些檔案無需納入 Git 的管理,也不希望它們總出現在未跟蹤檔案列表。通常都是些自動生成的檔案,比如日誌檔案,或者編譯過程中建立的臨時檔案等。我們可以建立一個名為 .gitignore 的檔案,列出要忽略的檔案模式。 下面介紹怎麼建立這種檔案,先開啟終端然後在終端輸入以下命令:

cd desktop ///切換到桌面
touch .gitignore    ///建立.gitignore
vim  .gitignore     ///進入編輯.gitignore

這裡寫圖片描述

下面是一些gitignore檔案的寫法分享:

(1)所有空行或者以註釋符號 # 開頭的行都會被 Git 忽略。 (2)可以使用標準的 glob 模式匹配。 (3)匹配模式最後跟反斜槓(/)說明要忽略的是目錄。 (4)要忽略指定模式以外的檔案或目錄,可以在模式前加上驚歎號(!)取反。 所謂的 glob 模式是指 shell 所使用的簡化了的正則表示式。星號(*)匹配零個或多個任意字元;[abc] 匹配任何一個列在方括號中的字元(這個例子要麼匹配一個 a,要麼匹配一個 b,要麼匹配一個 c);問號(?)只匹配一個任意字元;如果在方括號中使用短劃線分隔兩個字元,表示所有在這兩個字元範圍內的都可以匹配(比如 [0-9] 表示匹配所有 0 到 9 的數字)。

# 此為註釋 – 將被 Git 忽略
*.a       # 忽略所有 .a 結尾的檔案
!lib.a    # 但 lib.a 除外
/TODO     # 僅僅忽略專案根目錄下的 TODO 檔案,不包括 subdir/TODO
build/    # 忽略 build/ 目錄下的所有檔案
doc/*.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt

下面有些人會遇到加上這個檔案,發現忽略的檔案還是有上傳。

原因: 在git庫中已存在了這個檔案,之前push提交過該檔案。 .gitignore檔案只對還沒有加入版本管理的檔案起作用,如果之前已經用git把這些檔案納入了版本庫,就不起作用了 解決: 需要在git庫中刪除該檔案,並更新。 然後再次git status檢視狀態,檔案不再顯示狀態。