概要
在用git管理多人開發的專案的時候,總會不定時出現,一些非必要檔案(如專案編譯檔案)加入版本管理。在提交**合併**的時候出現了一系列的問題。究其原因,就是沒有很好的利用ignore檔案,將一些特定檔案從版本管理中剔除。本文將簡要介紹一下,忽略檔案的匹配規則,學習好了忽略規則,則可以隨時剔除不需要的檔案。
gitbash 建立.gitignore檔案
1、開啟gitbash,切換到自己的本地倉庫;
2、輸入 touch .gitignore,則會在專案中生成乙個.gitignore檔案。
3、編輯生成的.gitignore ,可以用vim編輯,也可以文字方式開啟該檔案編輯。
.gitignore忽略規則
語法:
以」#」號開頭表示注釋;
以斜槓「/」開頭表示目錄;
以星號「*」通配多個字元;
以問號「?」通配單個字元
以方括號「」包含單個字元的匹配列表;
以嘆號「!」表示不忽略(跟蹤)匹配到的檔案或目錄;
此外,git 對於 .ignore 配置檔案是按行從上到下進行規則匹配的,意味著如果前面的規則匹配的範圍更大,則後面的規則將不會生效;
語法示例:
1、規則file/
說明:忽略目錄file下的全部內容;不管是根目錄下的/file/目錄,還是某個子目錄/child/file/目錄,都會被忽略。
2、規則/file/
說明:忽略根目錄下的/fd1/目錄的全部內容;
3、規則
/* !.gitignore
說明:忽略所有檔案,但不忽略.gitignore檔案。
專案實戰
專案目錄:
假如我只想管理原始檔和忽略檔案,也就是skfiledatabase目錄中內容。
第一次修改 忽略檔案如下:
/* !/skfiledatabase/
!.gitignore
將以上檔案儲存到.gitignore。執行git add . git commit -m 「加入版本管理」;
通過git ls-files檢視當前版本管理檔案如下:
通過git ls-flies可以檢視加入版本管理的為.gitignore檔案和skfiledatabase目錄中的所有檔案。
我們原來意願是只管理原始檔和忽略檔案,但是我們發現在skfiledatabase目錄包含的子資料夾debug目錄中全部為編譯生成的檔案,我們想把它從版本管理中去除。
修改.gitginore如下並儲存
/* !/skfiledatabase/
/skfiledatabase/debug/
!.gitignore
執行git 命令:
git rm -r –cached. 說明:將版本管理追蹤,清空,從新追蹤。
git add . 說明:重新提交到暫存區
git commit -m 「提交版本管理」 說明:提交到本地倉庫,將按照新的.gitignore檔案管理追蹤管理專案
補充:
不同開發專案.gitignore自動生成介紹,以及忽略不生效問題
希望對您有所幫助!
gitignore忽略規則
指定過濾某種型別的檔案 1 zip 2 rar 3 via 4 tmp 5 err 指定過濾某個檔案 1 mtk do c2 mtk if.h 下面我們看看常用的規則 1 mtk 過濾整個資料夾 23 zip 過濾所有.zip檔案 45 mtk do.c 過濾某個具體檔案 gitignore還可以指...
Git忽略規則 gitignore梳理
在工程根目錄下建立.gitignore檔案,將要排除的檔案或資料夾寫到.gitignore這個檔案中。這種方式會讓這個工程的所有修改者在轉殖 的同時,也能轉殖到過濾規則,而不用自己再寫乙份,這就能保證所有修改者應用的都是同乙份規則,而不是張三自己有一套過濾規則,李四又使用另一套過濾規則,個人比較喜歡...
Git忽略規則 gitignore梳理
對於經常使用git的朋友來說,gitignore配置一定不會陌生。廢話不說多了,接下來就來說說這個.gitignore的使用。首先要強調一點,這個檔案的完整檔名就是 gitignore 注意最前面有個 一般來說每個git專案中都需要乙個 gitignore 檔案,這個檔案的作用就是告訴git哪些檔案...