項(xiàng)目中經(jīng)常會(huì)生成一些 Git 系統(tǒng)不需要追蹤(track)的文件。典型的是在編譯生成過程中產(chǎn)生的文件或是編程器生成的臨時(shí)備份文件。當(dāng)然,你不追蹤(track)這些文件,可以 平時(shí)不用git add
去把它們加到索引中。 但是這樣會(huì)很快變成一件煩人的事,你發(fā)現(xiàn)項(xiàng)目中到處有未追蹤(untracked)的文件;這樣也使git add .
和git commit -a
變得實(shí)際上沒有用處,同時(shí)git status
命令的輸出也會(huì)有它們。
你可以在你的頂層工作目錄中添加一個(gè)叫.gitignore
的文件,來告訴 Git 系統(tǒng)要忽略掉哪些文件,下面是文件內(nèi)容的示例:
# 以'#' 開始的行,被視為注釋.
# 忽略掉所有文件名是 foo.txt 的文件.
foo.txt
# 忽略所有生成的 html 文件,
*.html
# foo.html是手工維護(hù)的,所以例外.
!foo.html
# 忽略所有.o 和 .a文件.
*.[oa]
你可以點(diǎn)這里 [gitignore]() 查看一下詳細(xì)的語法解釋。你也可以把.gitignore
這個(gè)文件放到工作樹(working tree)里的其它目錄中,這就會(huì)在它和它的子目錄起忽略(ignore) 指定文件的作用。.gitignor
文件同樣可以像其它文件一樣加到項(xiàng)目倉庫里( 直接用git add .gitignore
和git commit
等命令),這樣項(xiàng)目里的其它開發(fā)者也能共享同一套忽略文件規(guī)則。
如果你想忽略規(guī)則只對特定的倉庫起作用,你可以把這些忽略規(guī)則寫到你的倉庫下 .git/info/exclude
文件中,或是寫在 Git 配置變量 core.excludesfile 中指定的文件里。有些 Git 命令也可在命令行參數(shù)中指定忽略規(guī)則,你可以在這里:gitignore
查看詳細(xì)的用法。