歡迎使用CSDN markdown編輯器

2021-07-26 10:08:33 字數 1491 閱讀 5094

在git中如果想忽略掉某個檔案,不讓這個檔案提交到版本庫中,可以使用修改 .gitignore 檔案的方法。這個檔案每一行儲存了乙個匹配的規則例如:

`#此為注釋 – 將被 git 忽略

*.a       # 忽略所有 .a 結尾的檔案

!lib.a # 但 lib.a 除外

/todo # 僅僅忽略專案根目錄下的 todo 檔案,不包括 subdir/todo

build/ # 忽略 build/ 目錄下的所有檔案

doc/*.txt # 會忽略 doc/notes.txt 但不包括 doc/server/arch.txt

這樣設定了以後 所有的 .pyc 檔案都不會新增到版本庫中去。

另外 git 提供了乙個全域性的 .gitignore,你可以在你的使用者目錄下建立 ~/.gitignoreglobal 檔案,以同樣的規則來劃定哪些檔案是不需要版本控制的。

需要執行 git config –global core.excludesfile ~/.gitignoreglobal來使得它生效。

其他的一些過濾條件

* ?:代表任意的乙個字元

* *:代表任意數目的字元

* :必須不是此型別

* :代表ab,bb,cx中任一型別即可

* [abc]:代表a,b,c中任一字元即可

* [ ^abc]:代表必須不是a,b,c中任一字元

由於git不會加入空目錄,所以下面做法會導致tmp不會存在 tmp/* //忽略tmp資料夾所有檔案

改下方法,在tmp下也加乙個.gitignore,內容為

* !.gitignore

還有一種情況,就是已經commit了,再加入gitignore是無效的,所以需要刪除下快取

git rm -r –cached ignore_file

注意: .gitignore只能忽略那些原來沒有被track的檔案,如果某些檔案已經被納入了版本管理中,則修改.gitignore是無效的。

正確的做法是在每個clone下來的倉庫中手動設定不要檢查特定檔案的更改情況。

git update-index –assume-unchanged path 在path處輸入要忽略的檔案。

另外 git 還提供了另一種 exclude 的方式來做同樣的事情,不同的是 .gitignore 這個檔案本身會提交到版本庫中去。用來儲存的是公共的需要排除的檔案。而 .git/info/exclude 這裡設定的則是你自己本地需要排除的檔案。 他不會影響到其他人。也不會提交到版本庫中去。

.gitignore 還有個有意思的小功能, 乙個空的 .gitignore 檔案 可以當作是乙個 placeholder 。當你需要為專案建立乙個空的 log 目錄時, 這就變的很有用。 你可以建立乙個 log 目錄 在裡面放置乙個空的 .gitignore 檔案。這樣當你 clone 這個 repo 的時候 git 會自動的建立好乙個空的 log 目錄了。

歡迎使用CSDN markdow

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...

歡迎毛毛與妞妞使用CSDN markdown編輯器

建立乙個自定義列表 如何建立乙個註腳 注釋也是必不可少的 katex數學公式 新的甘特圖功能,豐富你的文章 uml 圖表 flowchart流程圖 匯出與匯入 你好!這是你第一次使用markdown編輯器所展示的歡迎頁。如果你想學習如何使用markdown編輯器,可以仔細閱讀這篇文章,了解一下mar...

歡迎使用CSDN markdow1n編輯器

本markdown編輯器使用stackedit修改而來,用它寫部落格,將會帶來全新的體驗哦 markdown 是一種輕量級標記語言,它允許人們使用易讀易寫的純文字格式編寫文件,然後轉換成格式豐富的html頁面。維基百科 使用簡單的符號標識不同的標題,將某些文字標記為粗體或者斜體,建立乙個鏈結等,詳細...