詳解Git的忽略文件夾功能

在Git項目中,我們經常需要忽略一些文件或文件夾,以避免提交到Git倉庫,例如編譯生成的文件、日誌文件、緩存文件等。Git提供了忽略文件夾的功能,本文將從多個方面詳解Git的忽略文件夾功能。

一、git忽略文件夾的命令

在Git中,我們可以使用.gitignore文件來指定要忽略的文件或文件夾。我們可以使用git命令來創建.gitignore文件,並將其添加到Git倉庫中。具體步驟如下:

$ touch .gitignore
$ git add .gitignore
$ git commit -m "add .gitignore file"

在.gitignore文件中,我們可以使用通配符匹配文件或文件夾,例如:

# 忽略日誌文件
*.log

# 忽略編譯生成的文件夾
build/

# 忽略指定文件
config.ini

以上配置將會忽略所有以.log結尾的文件、build文件夾以及config.ini文件。

二、git忽略文件自動更新

通常情況下,我們對.gitignore文件進行修改後,Git倉庫中已經存在的文件或文件夾不會受影響,需要手動將其從Git倉庫中刪除才能生效。但是,如果我們在.gitignore文件中添加了一個新規則,Git會自動忽略匹配到的文件。例如:

# 忽略所有.log文件
*.log

# 忽略指定目錄下的所有.class文件
/foo/bar/*.class

如果我們在使用Git時添加了一個新的.log文件或/foo/bar目錄下的.class文件,Git會自動將其忽略。

三、git忽略文件夾下所有文件

有時候,我們需要忽略一個文件夾中的所有文件,例如忽略某個文件夾下的node_modules目錄。在.gitignore文件中,我們可以使用 ./ 相對路徑來匹配當前文件夾,例如:

# 忽略當前文件夾下的node_modules目錄
./node_modules/

注意,在匹配文件夾時,最後一定要添加 /,否則Git會將其識別為文件。

四、gitignore忽略文件夾

在某些情況下,我們需要將文件夾從Git倉庫中完全刪除,包括歷史記錄。這時候,我們可以使用git rm命令和git commit命令將其從Git倉庫中刪除。以下是具體的步驟:

$ git rm -r --cached foldername
$ git commit -m "remove foldername from git"

以上命令會將指定的文件夾從Git倉庫中徹底刪除,包括歷史記錄。如果不希望刪除歷史記錄,可以從.gitignore文件中刪除相應的規則,並使用以下命令將其重新添加到Git倉庫中:

$ git add -f foldername
$ git commit -m "re-add foldername to git"

五、git忽略文件夾不起作用

有時候,在.gitignore文件中定義的規則不起作用,導致被忽略的文件或文件夾仍然出現在Git倉庫中。這通常是因為.gitignore文件沒有被正確地添加到Git倉庫中,或者被另一個.gitignore文件所覆蓋。以下是一些排查方法:

1. 確認.gitignore文件是否已經添加到Git倉庫中。執行以下命令:

$ git status

如果.gitignore文件未被追蹤,執行以下命令將其添加到Git倉庫中:

$ git add .gitignore
$ git commit -m "add .gitignore file"

2. 確認.gitignore文件中的規則是否正確。建議使用絕對路徑來定義規則,避免相對路徑帶來的問題。並且建議在.gitignore文件中添加註釋,方便他人理解。

3. 確認是否有其他.gitignore文件所覆蓋。如果有多個.gitignore文件,Git會將其合併,如果有重複的規則,則後面的規則會覆蓋前面的規則。

六、git忽略文件夾及子文件夾

如果我們希望忽略某個文件夾及其所有子文件夾中的文件,可以在.gitignore文件中使用一個通配符 ** 。例如:

# 忽略foo文件夾及其所有子文件夾中的.log文件
foo/**/*.log

以上規則會忽略foo文件夾及其所有子文件夾中所有以.log結尾的文件。

七、git忽略文件夾內層所有文件

有時候,我們需要忽略一個文件夾中的所有文件,但是保留這個文件夾本身。例如,忽略node_modules文件夾中的所有文件,但是不忽略node_modules文件夾本身。在.gitignore文件中,我們可以使用以下規則來實現:

# 忽略node_modules文件夾中的所有文件
node_modules/*

# 但是不忽略node_modules文件夾本身
!node_modules/

以上規則將會忽略node_modules文件夾中的所有文件,但是不忽略node_modules文件夾本身。

八、git忽略文件夾中的某個文件夾

有時候,我們需要忽略一個文件夾中的某個文件夾,例如忽略vendor文件夾。我們可以在.gitignore文件中使用 ! 來取消忽略。例如:

# 忽略vendor文件夾
vendor/

# 但是不忽略vendor/assets文件夾
!vendor/assets/

以上規則會忽略vendor文件夾,但是不忽略vendor/assets文件夾。

九、vscode git忽略文件夾

如果您使用Visual Studio Code進行開發,可以使用.vscode/settings.json文件來配置忽略文件夾。您可以在該文件中添加一個”files.exclude”屬性,來指定要忽略的文件或文件夾。例如:

{
  "files.exclude": {
    "**/.git": true,
    "**/node_modules": true,
    "**/build": true,
    "**/dist": true
  }
}

以上配置將會忽略.git文件夾、node_modules文件夾、build文件夾和dist文件夾。

十、git忽略.idea文件夾

如果您使用IntelliJ IDEA進行開發,可以在.gitignore文件中加入以下規則來忽略.idea文件夾:

# 忽略.idea文件夾
.idea/

如果您希望不忽略某個.idea文件夾下的文件,可以在.gitignore文件中添加以下規則:

# 忽略.idea文件夾
.idea/

# 但是不忽略.idea/codeStyles文件夾
!.idea/codeStyles/

以上規則將會忽略.idea文件夾,但是不忽略.idea/codeStyles文件夾。

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-tw/n/305094.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2025-01-01 11:06
下一篇 2025-01-01 11:06

相關推薦

  • Idea新建文件夾沒有java class的解決方法

    如果你在Idea中新建了一個文件夾,卻沒有Java Class,應該如何解決呢?下面從多個方面來進行解答。 一、檢查Idea設置 首先,我們應該檢查Idea的設置是否正確。打開Id…

    編程 2025-04-29
  • Git secbit:一種新型的安全Git版本

    Git secbit是一種新型的安全Git版本,它在保持Git原有功能的同時,針對Git存在的安全漏洞做出了很大的改進。下面我們將從多個方面對Git secbit做詳細地闡述。 一…

    編程 2025-04-29
  • 如何優化 Git 性能和重構

    本文將提供一些有用的提示和技巧來優化 Git 性能並重構代碼。Git 是一個非常流行的版本控制系統,但是在處理大型代碼倉庫時可能會有一些性能問題。如果你正在處理這樣的問題,本文將會…

    編程 2025-04-29
  • Java和Python哪個功能更好

    對於Java和Python這兩種編程語言,究竟哪一種更好?這個問題並沒有一個簡單的答案。下面我將從多個方面來對Java和Python進行比較,幫助讀者了解它們的優勢和劣勢,以便選擇…

    編程 2025-04-29
  • Python每次運行變數加一:實現計數器功能

    Python編程語言中,每次執行程序都需要定義變數,而在實際開發中常常需要對變數進行計數或者累加操作,這時就需要了解如何在Python中實現計數器功能。本文將從以下幾個方面詳細講解…

    編程 2025-04-28
  • Python strip()函數的功能和用法用法介紹

    Python的strip()函數用於刪除字元串開頭和結尾的空格,包括\n、\t等字元。本篇文章將從用法、功能以及與其他函數的比較等多個方面對strip()函數進行詳細講解。 一、基…

    編程 2025-04-28
  • Idea2022變更Git地址

    本文將從以下幾個方面對Idea2022變更Git地址進行詳細闡述: 一、GitHub上修改Git倉庫地址 1、登錄GitHub,找到需要修改的Git倉庫 2、在代碼頁面點擊右上角的…

    編程 2025-04-28
  • 全能的wpitl實現各種功能的代碼示例

    wpitl是一款強大、靈活、易於使用的編程工具,可以實現各種功能。下面將從多個方面對wpitl進行詳細的闡述,每個方面都會列舉2~3個代碼示例。 一、文件操作 1、讀取文件 fil…

    編程 2025-04-27
  • Python打開文件夾下所有文件

    本文將從以下幾個方面對Python打開文件夾下所有文件進行詳細闡述,希望對大家有所幫助: 一、如何使用Python打開指定文件夾下的所有文件 在Python中,可以使用os模塊的w…

    編程 2025-04-27
  • 通過提交信息搜索-使用git

    本篇文章重點講解如何使用git通過提交信息來搜索。我們將從多個方面介紹如何使用git來搜索提交信息,並提供相應的代碼示例以供參考。 一、搜索方式 Git提供了三種搜索方式,分別為:…

    編程 2025-04-27

發表回復

登錄後才能評論