git忽略的設置規則


  • GraphiQL中API文件與schema.json文件過大,屬於動態生成文件,配置忽略項,

  • 更進一步了解了git忽略的設置規則 .gitignore 文件中,每一行的忽略規則的語法如下:

空格不匹配任意文件,可作為分隔符,可用反斜杠轉義 開頭的文件標識注釋,可以使用反斜杠進行轉義

! 開頭的模式標識否定,該文件將會再次被包含,如果排除了該文件的父級目錄,則使用 ! 也不會再次被包含。可以使用反斜杠進行轉義 / 結束的模式只匹配文件夾以及在該文件夾路徑下的內容,但是不匹配該文件 / 開始的模式匹配項目跟目錄 如果一個模式不包含斜杠,則它匹配相對於當前 .gitignore 文件路徑的內容,如果該模式不在 .gitignore 文件中,則相對於項目根目錄 ** 匹配多級目錄,可在開始,中間,結束 ? 通用匹配單個字符 [] 通用匹配單個字符列表

常用匹配示例:

bin/: 忽略當前路徑下的bin文件夾,該文件夾下的所有內容都會被忽略,不忽略 bin 文件 /bin: 忽略根目錄下的bin文件 /.c: 忽略 cat.c,不忽略 build/cat.c debug/.obj: 忽略 debug/io.obj,不忽略 debug/common/io.obj 和 tools/debug/io.obj /foo: 忽略/foo, a/foo, a/b/foo等 a//b: 忽略a/b, a/x/b, a/x/y/b等 !/bin/run.sh: 不忽略 bin 目錄下的 run.sh 文件 *.log: 忽略所有 .log 文件 config.php: 忽略當前路徑的 config.php 文件 .gitignore規則不生效

.gitignore只能忽略那些原來沒有被track的文件,如果某些文件已經被納入了版本管理中,則修改.gitignore是無效的。

解決方法就是先把本地緩存刪除(改變成未track狀態),然后再提交:

git rm -r --cached . git add . git commit -m 'update .gitignore' 你想添加一個文件到Git,但發現添加不了,原因是這個文件被.gitignore忽略了:

$ git add App.class The following paths are ignored by one of your .gitignore files: App.class Use -f if you really want to add them.

如果你確實想添加該文件,可以用-f強制添加到Git:

$ git add -f App.class

或者你發現,可能是.gitignore寫得有問題,需要找出來到底哪個規則寫錯了,可以用git check-ignore命令檢查:

$ git check-ignore -v App.class .gitignore:3:*.class App.class

Git會告訴我們,.gitignore的第3行規則忽略了該文件,於是我們就可以知道應該修訂哪個規則。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM