經(jīng)測試發(fā)現(xiàn)怎爵,若要忽略一個(gè)文件夾下的部分文件夾,應(yīng)該一個(gè)一個(gè)的標(biāo)示忘渔√锶幔可能有更好的方法汁胆。
若test下有多個(gè)文件和文件夾答毫。若要ignore某些文件夾摹量,應(yīng)該這個(gè)配置.gitignore文件臣疑。若test下有test1盔憨,test2,test3文件。要track test3讯沈,則.gitignore文件為:
test/test1
test/test2
!test/test3
若為:
test/
!test/test3 郁岩,則不能track test3。
Git 中的文件忽略
1. 共享式忽略新建 .gitignore 文件缺狠,放在工程目錄任意位置即可问慎。.gitignore 文件可以忽略自己。忽略的文件儒老,只針對未跟蹤文件有效蝴乔,對已加入版本庫的文件無效。
2. 獨(dú)享式忽略針對具體版本庫 :.git/info/exclude針對本地全局: git config --global core.excludefile ~/.gitignore
忽略的語法規(guī)則:
(#)表示注釋
(*) 表示任意多個(gè)字符;
(?) 代表一個(gè)字符;
([abc]) 代表可選字符范圍
如果名稱最前面是路徑分隔符 (/) 驮樊,表示忽略的該文件在此目錄下薇正。
如果名稱的最后面是 (/) 片酝,表示忽略整個(gè)目錄,但同名文件不忽略挖腰。
通過在名稱前面加 (!) 雕沿,代表不忽略。
例子如下:
# 這行是注釋
*.a # 忽略所有 .a 偉擴(kuò)展名的文件
!lib.a # 但是 lib.a 不忽略猴仑,即時(shí)之前設(shè)置了忽略所有的 .a
/TODO # 只忽略此目錄下 TODO 文件审轮,子目錄的 TODO 不忽略
build/ # 忽略所有的 build/ 目錄下文件
doc/*.txt # 忽略如 doc/notes.txt, 但是不忽略如 doc/server/arch.txt
修改.gitignore文件
原因是.gitignore只能忽略那些原來沒有被track的文件,如果某些文件已經(jīng)被納入了版本管理中辽俗,則修改.gitignore是無效的疾渣。那么解決方法就是先把本地緩存刪除(改變成未track狀態(tài)),然后再提交:
git rm -r --cached .
git add .
git commit -m 'update .gitignore'
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者