一.前言
我們使用git進(jìn)行版本控制的過(guò)程中,會(huì)希望一些文件不要進(jìn)行提交,那這個(gè)時(shí)候就可以利用一些方法達(dá)到這個(gè)目的,這篇文章討論一下如何使用.gitignore文件來(lái)進(jìn)行忽略的方法。
二.討論一下.gitignore文件規(guī)則
先簡(jiǎn)單討論一下常用的.gitignore文件編寫(xiě)規(guī)則,其實(shí)比較像正則表達(dá)式中的一些內(nèi)容。
- 一行表示一個(gè)規(guī)則。
- 使用#表示注釋。
- 使用*匹配若干字符(0個(gè)/一個(gè)/多個(gè))。
- 使用?匹配一個(gè)字符。
- 使用[]匹配字符列表。
- !表示否定(不忽略)。
- /表示目錄。
- **匹配多級(jí)目錄。
三.具體.gitignore文件寫(xiě)法示例
來(lái)看一些.gitignore文件規(guī)則寫(xiě)法示例,更多寫(xiě)法可以參考規(guī)則進(jìn)行編寫(xiě)。
#.gitignore
main.exe
#表示忽略所有main.exe文件。
*.exe
#表示忽略所有.exe文件。
/*.exe
#表示忽略當(dāng)前目錄下的所有.exe文件。
/src/*.exe
#表示忽略當(dāng)前目錄下的src目錄下所有.exe文件。
!/main.exe
#表示不忽略當(dāng)前目錄下main.exe文件。
/bin
#表示忽略當(dāng)前.gitignore文件所在同級(jí)目錄下的bin目錄下所有文件。
#如果同級(jí)目錄下bin不是目錄而是文件,會(huì)忽略bin文件。
bin/
#表示忽略所有目錄下的bin目錄下所有文件,比如包括/bin目錄下所有文件,/src/bin目錄下所有文件。
#如果bin是文件名,不會(huì)忽略。
/src/**/bin
#表示忽略當(dāng)前目錄下的src目錄下的任意目錄下的bin目錄下的所有文件,比如src/bin,/src/debug/bin,/src/release/bin,/src/src/release/bin目錄下的所有文件。
#如果bin是文件,也會(huì)忽略。
四.討論一下.gitignore文件規(guī)則的生效優(yōu)先級(jí)
1.當(dāng)前目錄下的.gitignore文件的生效優(yōu)先級(jí)最高,然后是上級(jí)目錄,以此類推,優(yōu)先級(jí)高的規(guī)則會(huì)覆蓋優(yōu)先級(jí)低的規(guī)則。
2.對(duì)于同一個(gè).gitignore文件會(huì)按行從上往下進(jìn)行生效,所以如果多行規(guī)則對(duì)同一個(gè)文件都會(huì)影響,則越往下面的一行規(guī)則優(yōu)先級(jí)會(huì)越高,同樣優(yōu)先級(jí)高的規(guī)則會(huì)覆蓋優(yōu)先級(jí)低的規(guī)則。
3.注意,這里說(shuō)的只是git工作區(qū)的.gitignore文件的生效優(yōu)先級(jí),git忽略文件的規(guī)則還包括命令行的內(nèi)容等,而且命令行優(yōu)先級(jí)更高。
五.其他
1.如果文件已經(jīng)在追蹤中,修改.gitignore文件不會(huì)對(duì)該文件生效。
2.也可以利用其他方式設(shè)置忽略規(guī)則,比如修改.git/info/exclude文件等等,特點(diǎn)也不一樣,感興趣的話也可以研究一下。
歡迎討論,歡迎指正,歡迎轉(zhuǎn)載。文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-769497.html
?文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-769497.html
到了這里,關(guān)于git如何使用.gitignore文件設(shè)置忽略文件規(guī)則的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!