您好,登錄后才能下訂單哦!
這篇文章主要介紹“.gitignore文件作用及使用方法是什么”,在日常操作中,相信很多人在.gitignore文件作用及使用方法是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”.gitignore文件作用及使用方法是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在本地的代碼目錄中,有些文件或者目錄我們并不想提交到倉庫中,比如一些運行日志等文件。這樣的話,我們提交代碼時,就只能一個一個文件去git add
,太麻煩了。
為了解決這個問題,Git里面有一個.gitignore
文件。可以指定Git需要忽略哪些文件。配置好之后,Git就會自動忽略滿足配置的文件。這樣,我們就可以盡情的使用git add .
來添加文件了。
在 .gitingore
文件中,每一行指定一個忽略規則,Git 檢查忽略規則的時候有多個來源,它的優先級如下(由高到低):
從命令行中讀取可用的忽略規則
當前目錄定義的規則
父級目錄定義的規則,依次遞推
$GIT_DIR/info/exclude
文件中定義的規則
core.excludesfile
中定義的全局規則
在 .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
的忽略的話。忽略是不會生效的,需要我們手動先將緩存刪除。
# 刪除本地的緩存 git rm -r --cached . # 重新提交 git commit -am 'gitignore'
再比如,我們忽略了文件夾A,但是現在要往文件夾A中添加代碼文件。你會發現你沒法把文件夾A中的代碼提交。因為文件夾A被忽略了。
# 強制添加 git add -f 文件A/xxx.js # 正常提交 git commit -am 'xxx'
由于.gitignore
文件經常會配置很多內容,某些文件你并不能很直觀的知道為什么被忽略了。所以Git提供了一個檢查忽略的命令。
git check-ignore -v 文件夾A/xxx.js
到此,關于“.gitignore文件作用及使用方法是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。