簡體   English   中英

.gitignore 不忽略 node_modules

[英].gitignore not ignoring node_modules

即使在將.gitignore文件添加到.git存儲庫的根目錄后,我也無法讓 git 忽略node_modules目錄。

Git的文件還沒有添加到追蹤。

我已經完成了較早的堆棧溢出問題,並且還嘗試在第一行添加注釋行,因為顯然 Git 沒有讀取該文件的第一行,而且它仍然不起作用。 我也嘗試使用以下命令,但無濟於事:

git rm --cached -r .

誰能幫幫我? .gitignore的內容:

#first line
node_modules/

即使將 .gitignore 文件添加到 .git 存儲庫的根目錄后,我也無法讓 git 忽略 node_modules 目錄。

.gitignore文件應放置在工作樹的根目錄(也稱為項目的根目錄)中,該目錄位於.git目錄的正上方。 .git目錄中,該文件無效。

這是有道理的,因為通常您希望將此文件置於版本控制之下,以便與項目的所有開發人員共享被忽略文件的列表。 並且只有工作樹內部的文件, .git之外的文件處於版本控制之下, .git目錄用於 Git 的內部存儲。

(如果您只想在本地忽略模式,而不添加到版本控制,您可以通過在.git/info/exclude定義模式來實現。)

[...] 並且還嘗試在第一行添加注釋行,因為顯然 Git 沒有讀取該文件的第一行

作為記錄,它也讀取了第一行, .gitignore的第一行沒有什么特別之處。

我通過刪除.gitignore處的文件名解決了這個問題,並將其分別設置為一個不可見的文件和點文件,就像將文件命名為.gitignore並保留表達式一樣

node_modules/

在那個文件中,這樣就可以了,現在 git 最終忽略了 node-modules 目錄。 不確切知道為什么這有效,但至少確實如此。

我不知道這是否會對任何人有所幫助,但我在 PS 中使用 echo "" > .gitignore 創建了我的 .gitignore 文件,因此編碼設置為 UTF-16LE 而不是 UTF-8。 這導致 .gitignore 無法正常工作。

就我而言,我用這樣的引號寫了它

'functions/node_modules/'

代替

functions/node_modules/

就我而言,通過將文件編碼從“Unicode”轉換為“UTF-8 without BOM”來解決,因為我通過 Powershell 通過重定向輸出創建了.gitignore文件。

最初我將行尾從 Windows (CRLF) 更改為 Linux (LF),但沒有幫助。

如果一切都失敗了,你可能想試試這個。 我遇到了同樣的問題,但沒有任何效果。

刪除您的 node_modules 文件夾。 將更改推送到 github(如果您需要從 repo 中刪除 node_modules 文件夾)確保您在 .gitignore 文件中有 node_modules/ 行運行 npm install。 再推。

我在 Visual Studio Code 下工作,注意到你必須在運行 npm install 之前制作 gitignore 文件。 不知道為什么,但它在我的情況下修復了它。

我的項目結構如下:

project_name
 |
 |__ client
 |      |_ node_modules/
 |
 |__ server

$ sudo nano .gitignore 

Changed # dependencies 
        /node_modules to client/node_modules

$ git add .     /* to add modified gitignore file */
$ git status    /* to observe changes */

就我而言,我創建了兩個“.gitignore”文件,一個在主目錄中,第二個在客戶端文件夾中

確保文件末尾總是有一個新行。 如果您在node_modules/聲明之后忘記了一個,可能對您有所幫助。

我刪除了我的 node_modules 文件夾並提交了我的更改。 然后我復制了我的 .gitignore 文件的內容並將其刪除。 重新創建文件,粘貼回我的剪貼板內容並運行npm i 修復了問題。 我猜如果您在 VM 或遠程桌面上工作並且使用 Windows 而不是將 repo 帶到 mac 上,則可能會導致如上所述的編碼錯誤。

簡而言之:

復制 .gitignore 內容

刪除 .gitignore

重新創建 .gitignore

粘貼到剪貼板。

這是為誰來尋求像我這樣的解決方案而沒有上述方法的人

我所做的只是刪除.git/node_modules/文件夾,然后重新執行命令git init git add . ...等等,然后我毫無問題地推動了我的目錄。

在我的例子中,它是“node_modules/”而不是“node_modules/”,node_modules 之前的空間是問題所在

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM