在專案中,我們可能會遇到一些不需要被 Git 追蹤的文件,例如編譯產生的二進位檔案、日誌檔案以及臨時檔案等。此時,Git 提供了一種忽略文件的方法,可以忽略這些文件,不對其進行版本管理。
在 Git 中,忽略文件採用的是 .gitignore 文件,可以告訴 Git 忽略哪些文件或目錄不會被追蹤到版本歷史中。在這篇文章中,我們將介紹 Git 如何忽略文件。
一、建立 .gitignore 檔案
建立 .gitignore 檔案很簡單,只需要在專案根目錄中建立一個名字為 .gitignore 的檔案即可。需要注意的是,.gitignore 檔案的內容必須依照 Git 的規則進行設定。下面是一個 .gitignore 檔案的範例:
# 忽略所有 .a 文件 *.a # 但是 lib.a 文件除外 !lib.a # 仅仅忽略项目根目录下的 TODO 文件,不包括 subdir/TODO /TODO # 忽略 build/ 目录下的所有文件 build/ # 忽略 doc/notes.txt 文件,但不包括 doc/server/arch.txt 文件 doc/*.txt # 忽略所有 .pdf 文件在 doc/ 目录下以及子目录下 doc/**/*.pdf
在上述範例中,我們可以看到多種設定忽略檔案的方式。其中,第一行的 *.a
表示忽略所有的 .a 文件,!lib.a
表示不忽略 lib.a 文件。 /TODO
表示忽略專案根目錄下的 TODO 文件,但不包含子目錄下的 TODO 檔案。 build/
表示忽略build/ 目錄下的所有文件,doc/*.txt
表示忽略doc/ 目錄下的所有.txt 文件,doc/**/* .pdf
表示忽略doc/ 目錄下以及子目錄下的所有.pdf 檔。在 .gitignore 檔案中,我們也可以使用 # 號表示註釋,和
!
號碼取消忽略。
二、忽略已經提交的文件
在專案中,有時候我們需要對某些文件進行忽略,但是這些文件已經提交到了 Git 中。此時,如果我們修改了 .gitignore 檔案中的內容,這些檔案仍然會被追蹤到版本歷史中。因此,如果某些已經提交的檔案需要忽略,我們需要使用 git rm --cached
指令來從 Git 中刪除這些檔案的記錄。
例如,如果我們需要忽略README.md 文件,但是這個文件已經在Git 中被追蹤到了版本歷史中,那麼我們可以使用以下指令:
git rm --cached README.md
執行完這個指令後,README.md 檔案不會從本機檔案系統中刪除,只是從Git 的版本庫中刪除。此時,我們再將 README.md 檔案加入到 .gitignore 中,就可以成功忽略這個檔案了。
三、忽略資料夾
在 Git 中,我們不但可以忽略某個文件,還可以忽略一個資料夾。例如,如果我們需要忽略build/ 資料夾,那麼我們可以在.gitignore 檔案中加入以下內容:
build/
這樣,所有build/ 資料夾中的檔案都會被忽略,不會被Git 追蹤到在版本歷史中。
四、總結
在開發專案中,忽略檔案是常見的需求。 Git 提供了 .gitignore 檔案來幫助我們忽略不需要被追蹤的檔案。透過 .gitignore 文件,我們可以設定忽略文件的規則,忽略某些文件或資料夾,不對其進行版本管理。如果需要忽略已經提交到 Git 中的文件,我們需要使用 git rm --cached
命令來刪除這些文件的記錄。對於專案中的文件管理,忽略文件的設定是非常有用的技巧。
以上是git如何忽略文件的詳細內容。更多資訊請關注PHP中文網其他相關文章!