## 參考資料:
* [git-忽略特殊文件-廖雪峰](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013758404317281e54b6f5375640abbb11e67be4cd49e0000)
* [git ignore常見工程配置-github](https://github.com/github/gitignore)
## 實踐總結:
* .gitignore 配置文件用于配置不需要加入版本管理的文件,配置好該文件可以為我們的版本管理帶來很大的便利,以下是個人對于配置 .gitignore 的一些心得。
* 1、配置語法:
* 以斜杠“/”開頭表示目錄;
* 以星號“*”通配多個字符;
* 以問號“?”通配單個字符;
* 以方括號“[]”包含單個字符的匹配列表;
* 以嘆號“!”表示不忽略(跟蹤)匹配到的文件或目錄;
* 此外,git 對于 .ignore 配置文件是按行從上到下進行規則匹配的,意味著如果前面的規則匹配的范圍更大,則后面的規則將不會生效;
* 2、示例:
* (1)規則:
```
fd1/*
```
* 說明:忽略目錄 fd1 下的全部內容;注意,不管是根目錄下的 /fd1/ 目錄,還是某個子目錄 /child/fd1/ 目錄,都會被忽略;
* (2)規則:
```
/fd1/*
```
* 說明:忽略根目錄下的 /fd1/ 目錄的全部內容;
* (3)規則:
```
/*
!.gitignore
!/fw/bin/
!/fw/sf/
```
* 說明:忽略全部內容,但是不忽略 .gitignore 文件、根目錄下的 /fw/bin/ 和 /fw/sf/ 目錄;
## 實踐場景:
* 利用.gitignore過濾文件,如編譯過程中的中間文件,等等,這些文件不需要被追蹤管理。
* 現象:
* 在.gitignore添加file1文件,以過濾該文件,但是通過git status查看仍顯示file1文件的狀態。
* 原因:
* 在git庫中已存在了這個文件,之前push提交過該文件。
* .gitignore文件只對還沒有加入版本管理的文件起作用,如果之前已經用git把這些文件納入了版本庫,就不起作用了
* 解決:
* 需要[在git庫中刪除該文件](http://www.liaoxuefeng.com/wiki/0013739516305929606dd18361248578c67b8067c8c017b000/0013758392816224cafd33c44b4451887cc941e6716805c000),并更新。
* 然后再次git status查看狀態,file1文件不再顯示狀態。
## 相關指令:
* [git_status.md](http://www.hmoore.net/wteamxq/git_rank/276485) 查看當前代碼狀態指令: 我是萬能的檢測器!