less than 1 minute read

沒事不要亂學東西!

有學習目標時,再針對需求進行學習!

鍾獻慶

2024-05-10 星期五

經過一個多月使用git進行專案的版本管理後,發現有些檔案跟資料夾,我不想要git進行版本管理。也不希望不小心一個git push後,就把這些不想放出來的資料,上傳到GitHub上。

不想進行版本管理的檔案,例如:

  1. 比較機密的檔案。例如: 資料庫的存取密碼或是AWS伺服器的存取金鑰等。
  2. 一些程式編譯的中間檔或暫存檔。因為每次一編譯就等於產生一次新的檔案,但這些暫存檔並不像source code有關鍵性作用。要用git進行管理,反而浪費資源。
  3. 資料夾下的其他檔案,例如: 草稿、草稿資料夾。

該如何處理?

使用.gitignore檔案

可以使用.gitignore檔案來達成此目標。

在專案目錄裡放一個.gitignore檔案,並且設定想要忽略的檔案或規則就行了。

如果專案目錄中不存在這個檔案,可以手動新增。

編輯這個檔案的內容,可達到忽略的效果。

以下是簡單的範例檔。其中,檔案中的#後面是註解。

# .gitignore file

# Ignore the file AAA.yml
AAA.yml

# Ignore the file AAA.yml in the BBB folder
BBB/AAA.yml

# Ignore all *.csv files under the Dataset folder
/Dataset/*.csv

# Ignore all *.tmp files
*.tmp

# Ignore .gitignore
# .gitignore

如何確認.gitignore忽略的狀況

修改好.gitignore檔案的內容後,使用command git status,即可確認忽略的狀況。

如果.gitignore檔案的內容正確,那使用command git status後,原本會出現的檔案,就會消失。那表示.gitignore檔案的內容設定成功。

如果.gitignore檔案的內容設定有誤,那使用command git status後,原本會出現的檔案,還是會出現。

如果不希望本機的.gitignore上傳到GitHub上

有時候是本機的暫存檔太多,所以用.gitignore檔案來讓git忽略掉。

但我們並不希望這個本機的.gitignore檔案,上傳到GitHub上。

此時就要將.gitignore檔案中,把.gitignore檔案也忽略掉。

也就是.gitignore檔案中要有這行。

# Ignore .gitignore
.gitignore

如果是要處理GitHub上的檔案忽略

那就在GitHub上的repository資料夾中,新增.gitignore檔案。

關於git

git is a free and open source distributed version control system designed to handle everything from small to very large projects with speed and efficiency.

git官網: https://git-scm.com/

git logo:

相關Po文

[學習] 使用git CLI並與GitHub共同運作(基礎篇)

相關連結

git官方文件: gitignore - Specifies intentionally untracked files to ignore
畢竟是官方文件,這裡有基礎跟細節的介紹。要寫特殊規則的話,建議看這裡。

為你自己學 Git: 【狀況題】有些檔案我不想放在 Git 裡面…

Leave a comment