git .gitignore使用無效的解決方法

.gitignore使用無效的解決方法

  • 如果在創(chuàng)建.gitignore文件之前就已經push了項目,Git仍然會對所有文件進行版本管理;
  • 或push后,在.gitignore文件中更新過濾規(guī)則,新規(guī)則也不會起作用。

原因:新建的文件在git中會有緩存,當Git已經開始管理這些文件后,新建.gitignore文件或更新忽略規(guī)則就不生效、不起作用了。

解決方法:先清除本地緩存,然后再進行git push。git清除本地緩存命令如下:

git rm -r --cached .
git add .
git commit -m "update .gitignore"
git push -u origin master

因此,一定要養(yǎng)成在項目開始就創(chuàng)建.gitignore文件的習慣;如果需要更新忽略規(guī)則,在更新后執(zhí)行上述命令使其生效。

常用的規(guī)則

以斜杠/開頭表示目錄;
以星號*通配多個字符;
以問號?通配單個字符
以方括號[]包含單個字符的匹配列表;
以嘆號!表示不忽略(跟蹤)匹配到的文件或目錄;

【注意】git 對于 .ignore 配置文件是按行從上到下進行規(guī)則匹配的,意味著如果前面的規(guī)則匹配的范圍更大,則后面的規(guī)則將不會生效;

示例說明
a、規(guī)則:dir/*
說明:忽略相對目錄 dir 下的全部內容;不管是根目錄下的 /dir/ 目錄,還是某個子目錄 /sudDir/dir/ 目錄,都會被忽略;
b、規(guī)則:/dir/*
說明:只忽略根目錄下的 /dir/ 目錄的全部內容;
c、規(guī)則:
/*
!.gitignore
說明:忽略全部內容,但不忽略 .gitignore 文件。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容