Git 如何忽略需要上傳的文件

1、首先在項目中 .git同目錄中
Touch .gitignore文件

build/ # 忽略 build/ 目錄下的所有文件
doc/*.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt
比如
在這裏插入圖片描述
那麼爲忽略 .err 文件的上傳
2、配置生效
在.gitignore中已經標明忽略的文件,當gitpush的時候還會出現在push的目錄中,原因是這些文件因爲在git中有緩存,這時候我們就應該先把本地緩存刪除,然後再進行git的push。git清除本地緩存命令如下:
git rm -r --cached .
git add .
git commit -m ‘update .gitignore’

如果還有忽略文件的上傳那麼需要檢查以下原因
據我所知導致.gitignore裏的忽略規則失效只有兩種情況,當然我對Git的使用和理解比較淺薄,也只能想到這兩個方面:一種是忽略規則的語法錯誤,這種情形好處理,只要修正錯誤的語法就可以了。PS:本文不對語法錯誤的問題詳細說明,畢竟每個人情況不同。排查語法問題這事我也不知道怎麼舉例,總之只要符合官方規範的就可以了,需要注意的好像也就一個路徑問題吧?!
另一種則是本文要重點說明的情況:項目中的文件或目錄已經被納入到Git的版本管理裏面/跟蹤文件清單,此時你再往.gitignore裏添加此文件/目錄的忽略規則就會發現毫無作用,因爲已經被Git跟蹤(track)的文件/目錄無法被.gitignore忽略掉!。
這裏再對上面一段所說的進行詳細說明,所謂“已經被納入到Git的版本管理裏面/跟蹤文件清單”,大體上指的是下面的三種情況:
1.已使用add命令開始跟蹤項目文件或者將修改的文件放入暫存區/索引
2.已使用commit命令提交更新到本地倉庫
3.已使用push命令將項目文件推送到了Git遠程倉庫了(例如GitHub)
上述的三種操作只要進行了其中一項,再添加對應文件的忽略規則都是不生效的!PS:這三個命令在GUI客戶端上一般都可以找到對應的按鈕和操作。
這裏額外提下,如果按照反向理解,也就是說只要是文件/目錄還沒有被Git跟蹤,那麼你添加的忽略規則都是有效的,重點在於文件的是否屬於被跟蹤(track)狀態。

git add .
git rm --cached .err
之後就不會上傳忽略的文件了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章