2017-09-28 40 views
1

我犯了一個錯誤,創建一個gitignore文件後,我已經推動了一個初始提交到我的git回購。.gitignore無法工作,即使當我清除緩存

我的.gitignore很簡單,只包含:

node_modules 

我已經試過如下:

git rm --cached -rf . 
git add . 
git commit 'Fix untracked files' 
git push 

我也試着刪除我的.git文件夾在我的項目目錄重新初始化整個項目。

這兩次它仍然推我的node_modules目錄!

我該如何解決這個問題?

+0

把斜線在文件夾名稱 – HuStmpHrrr

+0

@HuStmpHrrr的結束並不仍然工作 – doctopus

+0

您是否已提交和推送初始'node_modules'文件夾承諾? –

回答

3
  1. 首先,刪除的.gitignore文件node_modules(所以,現在的.gitignore爲空)。

  2. 清理git緩存並刪除node_modules文件夾。

    $ git rm -r --cached node_modules # clean git cache 
    $ rm -rf node_modules    # delete node_modules 
    
  3. 做git添加,提交,推送到遠程。現在,node_modules將從遠程移除。

    $ git add -A 
    $ git commit -m 'Delete node_modules' 
    $ git push origin HEAD 
    
  4. 添加node_modules中的.gitignore文件,明確git的緩存,生成node_modules文件夾。

    # add 'node_modules/' into .gitignore 
    
    $ git rm -r --cached node_modules 
    $ npm i   # generate node_modules 
    
    $ git status  # see if git ignores node_modules folder now 
    
  5. 做git添加,提交,推送到遠程。現在.gitignore包含node_modules,所以git將來會忽略該文件夾。

    $ git add . 
    $ git commit -m 'Add node_modules in .gitignore' 
    $ git push origin HEAD 
    
+1

工作過一個魅力。謝謝 – doctopus