忽略檔案
"並不是所有的牛奶都叫特崙蘇",在版本控制系統中也有相似的表達,那就是"並不是所有的檔案都需要提交".
有的是因為沒必要提交,比如日誌檔案,系統快取檔案等,有的是因為不能提交,比如個人隱私檔案,付費文件等.
正常來說,這些檔案都是不應該被提交到版本庫,倘若一不留神提交到版本庫,要麼洩露機密資訊,要是造成經濟損失,要麼對團隊其他人工作造成不便.
有鑑於此,我們應該尋求一種機制來規避事故的發生,在git
版本控制系統中一般有三種不同的解決方案.
最常用也是最簡單的當屬.gitignore
檔案,不過先不要著急,我們先了解一下忽略原則和配置規則.
目標: 只提交必要檔案,忽略無用檔案,盡可能考慮多種情況,不給他人製造麻煩.一行記錄代表一條規則,配置規則僅針對尚未被跟蹤的檔案清單.
# 忽略 `*.a` 檔案
*.a# 忽略 `*.a` 檔案,但 `somefile.a` 除外.
*.a!somefile.a
# 忽略 `*.b` 和 `*.b` 檔案
*.[bb]
# 忽略 `*.c` 和 `*.c` 檔案,但 `somefile.c` 除外.
*.[cc]
!somefile.c
# 只忽略 `somepath/` 目錄(包括該目錄下所有檔案),但不忽略 `somepath` 檔案
somepath/
# 只忽略 `somepath/` 一級子目錄下 `*.txt`,但不忽略 `somepath/sub/*.txt` 檔案
somepath/*.txt
# 忽略 `somepath` 檔案和 `somepath` 目錄
somepath
# 只忽略 `somepath` 檔案,但不忽略 `somepath/` 目錄
somepath
!somepath/
# 只忽略當前目錄下的 `somepath` 檔案和目錄,但不忽略子目錄的 `somepath`
/somepath
說明:#
開頭表示注釋,!
緊跟某規則之後表示增加例外情況
執行git help ignore
命令檢視幫助文件
git
設定忽略檔案有三種方式,如下:
三種設定方式中,第二種最為常見,另外兩種大致一樣,重點在於配置檔案如何編寫.
# general
.ds_store
.lsoverride
# windows thumbnail cache files
thumbs.db
ehthumbs.db
ehthumbs_vista.db
忽略檔案規則配置完畢後,需要將該檔案提交到版本庫,這樣在其他電腦上也能應用相同的忽略規則.
# 新增 `.gitignore`
git add .gitignore
# 提交 `.gitignore`
git commit -m "add .gitignore"
# 上傳 `.gitignore`
git push origin master
新建.gitignore
檔案中已忽略的檔案,執行git status
命令,如果提示working directory clean
,那麼說明忽略檔案的配置已經生效,如果工作區不乾淨,很遺憾,忽略檔案配置可能並未生效,需要檢查下**配置錯了.
執行git check-ignore
命令檢查是哪個配置規則寫錯了,從而我們能夠更正相應的配置規則.
git忽略本地檔案
1 git通常在.gitignore檔案進行配置,來忽略本地檔案。但是這僅對於重來沒有提交過的檔案有效。2 使用git update index skip worktree path設定標識,使git忽略對應的檔案。3 使用git update index assume unchanged path...
git在本地忽略檔案
踩坑,特此記錄 場景 在多人協作的情況下,vue.config.js中 單獨切出來的 proxy devserver檔案經常被修改,但我又不想讓這個devserver檔案在切換分支的時候提交或git stash.此時一開始想到的是.gitignore,但.gitignore是針對遠端的,git忽略對...
git 新增忽略檔案 gitignore
用作記錄 touch gitignore 建立gitignore隱藏檔案 vim gitignore 編輯檔案,加入指定檔案 對於每一級工作目錄,建立乙個.gitignore檔案,向該檔案中新增要忽略的檔案或目錄。但在建立並編輯這個檔案之前,一定要保證要忽略的檔案沒有新增到git索引中。使用命令gi...