在開發(fā)過程中,會有一些無需加入版本管理的內(nèi)容,比如項目npm生成的 node_modules,它雖然重要,但是不需要進行版本管理,只需要在使用的時候 npm install 就可以了。
再比如編譯生成的中間文件,可執(zhí)行文件也無需進行版本管理。
我們?nèi)绾翁幚磉@一類的文件呢?
在 Git 工作區(qū)的根目錄下創(chuàng)建一個 .gitignore 文件,管理不需要進行版本控制的文件或者目錄,在使用 git 管理時,就會自動忽略這些文件,即便是改動了這些文件,也不會出現(xiàn)在工作區(qū)當中。
忽略文件的原則
一般來說
- 忽略系統(tǒng)自動生成文件。比如 npm 生成的 node_modules
- 忽略編譯生成的中間文件、可執(zhí)行文件。如果一個文件是通過另一個文件自動生成的,那么自動生成的文件就沒必要放進版本庫中。比如 python 編譯產(chǎn)生的
.pyc、.pyo等文件
gitignore 語法
常用主要有三種
- 忽略指定文件
dir/file.java - 忽略整個文件夾
/dir/- 比如在小程序開發(fā)中,除了 npm 生成的 node_modules 不需要管理,我們引入的三方UI庫也不需要版本管理。
/miniprogram_npm/ /node_modules/ - 忽略某一類文件
*.class
在使用 gitignore 時,支持基本正則語法,比如 *多個字符,? 單個字符,# 注釋
除了上面介紹的接種常用句式,也可以反向排除
比如忽略某個目錄下的文件,但有部分文件要保留,可以在指定文件前加 ! 表明是不忽略文件。