不加入版本控管可透過.gitgnore設定
在git的根目錄下建.gitgnore,其內容設定
由於git不會track空資料夾,所以當ignore *, 會造成tmp/log資料夾不會加入repository
這時只要在tmp/log下,加個.gitignore,內容如下
在git的根目錄下建.gitgnore,其內容設定
#.gitignore內容
tmp.txt #不加入tmp.txt
*.log #不加入所有的log檔
tmp/* #不加入tmp下所有檔
log/**/*.log #忽略log目錄下包含子目錄的所有.log檔案
log/**/* #略特定目錄下的所有檔案
由於git不會track空資料夾,所以當ignore *, 會造成tmp/log資料夾不會加入repository
這時只要在tmp/log下,加個.gitignore,內容如下
vi tmp/.gitignore # log/.gitignore
#--
*
!.gitignore #這個檔也可以不追蹤
其他過濾條件(其實就正規表達式)
- ?:代表任意的一個字元
- *:代表任意數目的字元
- {!ab}:必需不合於此pattern
- {ab,bb,cx}:代表合於ab,bb,cx之一種pattern即可
- [abc]:代表合於a,b,c中任一字元即可
- [^abc]:代表必需不合於a,b,c中任一字元
FAQ
- 加入ignore無效?
明明就已經加入了,但一樣會檢查
因為一開始就把檔案加入tracking,就把檔案放進repository追蹤
所以每次改變都會檢查,這時只要下
然後再commit一次,這樣就ok啦git rm --cached <ignore file>
p.s. 當然這次 gitignore就要先寫好 後記:但別人merge後,不知為何他的<ignore fil>會整個刪掉....
沒有留言:
張貼留言