可以通過在項目的根目錄下創建一個名為.gitignore的文件來忽略git版本控制中不需要的文件、目錄和文件類型。
這個文件包含了一些規則,告訴Git哪些文件或目錄應該被忽略,不要上傳到倉庫中,這樣有助于減小倉庫的大小和提高Git的效率。
在開發過程中往往會不斷增加新的文件和目錄,如果不對這些不必要的文件進行忽略,會將它們與代碼一起提交到Git倉庫中,導致倉庫過大,造成意料之外的問題。
下面就讓我們來看看如何忽略Git版本控制中的文件、目錄和文件類型。
- 創建.gitignore文件
在項目根目錄下創建一個新文件并命名為.gitignore,如果已有此文件則直接編輯即可。
- 添加規則
在.gitignore中添加規則,告訴Git那些文件或目錄不需要被版本控制。 常見的規則有:
1) 獨立文件:每行一個文件或文件夾路徑,以“/”結尾表示忽略此目錄,否則忽略此文件。
# 忽略 .DS_Store 文件 .DS_Store # 忽略 node_modules 目錄 node_modules/ # 忽略 dist 目錄 dist/
2) 通配符:匹配符合一定規則的文件或文件夾名。
# 忽略所有 .md 文件 *.md # 忽略所有 .log 文件 *.log # 忽略所有 .txt 文件,但不包括 README.txt *.txt !README.txt # 忽略所有 .js 和 .map 文件 *.js *.map
3) 注釋:以“#”開頭表示注釋,Git會忽略這行內容。
# 我是注釋,這行規則不會生效
4) 特殊字符:在規則中添加特殊字符時需要轉義。
# 忽略格式為 __pycache__ 的文件夾 __pycache__/ # 忽略.gitignore本身 .gitignore # 忽略以`.`開頭的所有文件 .*
- 提交忽略規則
將.gitignore文件和更新后的.gitignore規則添加到Git倉庫中。
# 添加.gitignore文件到暫存區 git add .gitignore # 提交忽略規則 git commit -m "add .gitignore file to ignore some files"
- 檢查忽略規則
通過git check-ignore命令可以檢查某個文件是否被忽略,還可以查看被忽略的原因。
# 檢查 .DS_Store 文件是否被忽略 $ git check-ignore -v .DS_Store .gitignore:1:*.DS_Store .DS_Store # 檢查 node_modules 目錄是否被忽略 $ git check-ignore -v node_modules .gitignore:2:node_modules/ node_modules
可以看到git check-ignore命令返回行號和匹配的規則。如果命令未返回任何輸出,則表示文件未被忽略。
總結
通過.gitignore文件來告訴Git哪些文件或目錄不需要被版本控制,可以減小倉庫的大小,提高Git的效率,并且確保倉庫中只包含必要的文件和目錄。在撰寫.gitignore規則時,可以使用通配符、注釋和特殊字符等語法,還可以通過git check-ignore命令查看被忽略的文件和規則。