.gitignore 文件不起作用解決

前言

最近項(xiàng)目開發(fā)中,項(xiàng)目文件目錄變更,重新遷移了項(xiàng)目,結(jié)果要提交幾百上千個(gè)問(wèn)題,瞬間嚇了一筆,中途更改,.gitignore 不起作用導(dǎo)致的。.gitignore 為隱藏文件,顯示隱藏方能看到,或使用終端。百度一番,尋找解決方法,特總結(jié)一下。

解決方法:

原因:說(shuō)在git中會(huì)有緩存,如果某些文件已經(jīng)被納入了版本管理中,就算是在.gitignore中已經(jīng)聲明了忽略路徑也是不起作用的,這時(shí)候我們就應(yīng)該先把本地緩存刪除,然后再進(jìn)行g(shù)it的push,這樣就不會(huì)出現(xiàn)忽略的文件了。git清除本地緩存命令如下:

git rm -r --cached .
git add .
git commit -m 'update .gitignore'

但是執(zhí)行第一個(gè)命令就報(bào)錯(cuò)了:

image.png

字面意思

the following files have staged content different from both the
file and the HEAD:
與HEAD不同的文件暫存內(nèi)容
"已暫存和修改"的項(xiàng)目的這個(gè)狀態(tài),即:首先對(duì)其進(jìn)行了修改,然后對(duì)其進(jìn)行了暫存和修改.然后又進(jìn)行了修改.

看提示可以使用:
git rm --cached -f <filename>規(guī)避此錯(cuò)誤.
但是通常,當(dāng)我使用git rm --cached取消暫存文件時(shí),不會(huì)出現(xiàn)此錯(cuò)誤.

繼續(xù)執(zhí)行:

git rm --cached -f <Dart_Packages.xml>

報(bào)錯(cuò) zsh: parse error near\n' `
試了幾次錯(cuò)誤的:

git rm --cached -f <project/AumanService/.idea/libraries/Dart_Packages.xml>
git rm --cached -f </Dart_Packages.xml>

百度了才發(fā)現(xiàn),不需要<>,

git rm --cached -f project/AumanService/.idea/libraries/Dart_Packages.xml 128 ?
rm 'project/AumanService/.idea/libraries/Dart_Packages.xml'

終于成功了,同上繼續(xù)執(zhí)行提交。

附:.gitignore文件 資源共用

.gitignore文件是用來(lái)忽略開發(fā)者想忽略掉的文件或目錄,如果沒(méi)有.gitignore文件,可以自己手工創(chuàng)建。在.gitignore文件中的每一行保存一個(gè)匹配的規(guī)則。例如:

“#” 此為注釋 – 將被 Git 忽略,沒(méi)有“”,基本上都一樣,都是#注釋

*.a # 忽略所有 .a 結(jié)尾的文件
!lib.a # 但 lib.a 除外

/TODO # 僅僅忽略項(xiàng)目根目錄下的 TODO 文件,不包括 subdir/TODO

node_modules
.project
.vscode

build/ # 忽略 build/ 目錄下的所有文件
doc/*.txt # 會(huì)忽略 doc/notes.txt,但不包括 doc/server/arch.tx

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

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容