尽管有gitignore和清除缓存,但Git仍在推送文件

时间:2019-03-02 03:05:00

标签: git

我犯了一个错误,并误输入了.gitignore文件的名称,当我将其推到Github时,我意识到我也在推销node_modules目录中的所有内容。我取消了命令(ctrl + c)并修复了.gitignore并运行git rm -r --cached .

运行git status然后仅显示对.gitignore文件的更改,因此我提交了它们,然后何时向上推。但是,在git push期间,我注意到node_module文件仍在上推。

同样,我取消了命令(ctrl + c)并运行git reset --hard HEAD^,重新添加并重新提交,但是似乎我又在推送node_module文件。

因为我在这些文件中途取消了推送,所以似乎陷入了困境。

是否可以通过某种方式解决此问题,以便可以合并到github而无需增加我的node_module文件?

2 个答案:

答案 0 :(得分:1)

.gitignore适用于尚未add编辑的文件,但不适用于已被跟踪的文件。

您可能必须使用git filter-branchremove those files from your Git local history

在那之后,因为您已经修改了历史记录,所以需要强行推入。

答案 1 :(得分:0)

.gitignore不适用于已经推送(在分支内)的文件或文件夹; 直接在回购中编辑git ignore,删除文件,然后拉到本地; 删除本地文件