? ? ? 首先為什么要設(shè)置忽略文件呢相种?在進(jìn)行協(xié)作開(kāi)發(fā)代碼管理的過(guò)程中,常常會(huì)遇到某些臨時(shí)文件品姓、配置文件寝并、或者生成文件等,這些文件由于不同的開(kāi)發(fā)端會(huì)不一樣腹备,如果使用git add . 將所有文件納入git庫(kù)中衬潦,那么會(huì)出現(xiàn)頻繁的改動(dòng)和push,這樣會(huì)引起開(kāi)發(fā)上的不便植酥。
? ? ? Git可以很方便的幫助我們解決這個(gè)問(wèn)題镀岛,那就是建立項(xiàng)目文件過(guò)濾規(guī)則。
git忽略文件有三種:
1友驮、全局范圍內(nèi)有效的忽略文件
就是"版本庫(kù)根目錄/.git/info/exclude",全局范圍內(nèi)的所有忽略規(guī)則都以行為單位寫(xiě)在這個(gè)文件中;
2漂羊、局部范圍內(nèi)有效的忽略文件
就是.gitignore,這個(gè)忽略文件只對(duì)某一級(jí)目錄下的文件的忽略有效;
如果某一個(gè)目錄下有需要被忽略的文件,那么就可以在該目錄下手工地創(chuàng)建忽略文件.gitignore,
并在這個(gè)忽略文件中寫(xiě)上忽略規(guī)則,以行為單位,一條規(guī)則占據(jù)一行;
比較特殊的情況就是在版本庫(kù)的根目錄下創(chuàng)建一個(gè)忽略文件.gitignore,這時(shí),
這個(gè).gitignore忽略文件就對(duì)版本庫(kù)根目錄下的文件有效,等價(jià)于全局范圍內(nèi)的忽略文件.git/info/exclude;
3、手工指定一個(gè)忽略文件,
該忽略文件中的規(guī)則和語(yǔ)法與前兩種是一致的,隨便哪一級(jí)目錄都可以,只要加上對(duì)應(yīng)的路徑即可;
手工指定忽略文件的命令是:
git config --global core.excludesfile /path/to/.gitignore
然后手工地在對(duì)應(yīng)位置創(chuàng)建忽略文件.gitignore,并在該文件中寫(xiě)入忽略規(guī)則即可;
? ? ? 由于每一種級(jí)別的混略文件都是一致的所以今天主要介紹的是第二種.gitignore
1卸留、配置語(yǔ)法:
以斜杠“/”開(kāi)頭表示目錄走越;
以星號(hào)“*”通配多個(gè)字符;
以問(wèn)號(hào)“?”通配單個(gè)字符
以方括號(hào)“[]”包含單個(gè)字符的匹配列表耻瑟;
以嘆號(hào)“!”表示不忽略(跟蹤)匹配到的文件或目錄旨指;
2、示例:
(1)規(guī)則:fd1/*
說(shuō)明:忽略目錄 fd1 下的全部?jī)?nèi)容匆赃;注意淤毛,不管是根目錄下的 /fd1/ 目錄,還是某個(gè)子目錄 /child/fd1/ 目錄算柳,都會(huì)被忽略低淡;
(2)規(guī)則:/fd1/*
說(shuō)明:忽略根目錄下的 /fd1/ 目錄的全部?jī)?nèi)容;
(3)規(guī)則:
/*
!.gitignore
!/fw/bin/
!/fw/sf/
說(shuō)明:忽略全部?jī)?nèi)容,但是不忽略 .gitignore 文件蔗蹋、根目錄下的 /fw/bin/ 和 /fw/sf/ 目錄何荚;
我們用coding管理代碼,在創(chuàng)建項(xiàng)目的時(shí)候可以創(chuàng)建.gitignore文件
我們來(lái)看生成的.gitignore文件
如果我們的項(xiàng)目中用到了cocopods的話很顯然這些忽略文件是不夠的猪杭,我們需要忽略podfile.lock文件
如果我們需要在當(dāng)前工作目錄添加文件忽略
對(duì)于每一級(jí)工作目錄餐塘,創(chuàng)建一個(gè).gitignore文件,向該文件中添加要忽略的文件或目錄皂吮。
但在創(chuàng)建并編輯這個(gè)文件之前戒傻,一定要保證要忽略的文件沒(méi)有添加到git索引中。
使用命令git rm --cached filename將要忽略的文件從索引中刪除蜂筹。