无法从git commit中删除文件

我如何放弃所有未被推入的git提交,然后强制git不提交数据/目录中的任何东西?

我试图强制覆盖从我的c9.io项目存储在github上的项目的所有更改。 我不小心join了一些mongodb数据文件。 我试图将数据/目录添加到.gitignore。 我从github中获取更新的.gitignore,但是当我尝试和git push时,data /中的这些顽固文件仍然在提交阶段。 我也试过git reset,git rebase,git clean,这里我把dmpfile.sql改成pi / data / node-login.1。

请帮忙,我已经在这个小时了,我真的很沮丧

Counting objects: 15, done. Delta compression using up to 2 threads. Compressing objects: 100% (13/13), done. Writing objects: 100% (13/13), 150.22 KiB | 92 KiB/s, done. Total 13 (delta 6), reused 0 (delta 0) remote: warning: File pi/data/local.0 is 64.00 MB; this is larger than GitHub's recommended maximum file size of 50 MB remote: warning: File pi/data/node-login.0 is 64.00 MB; this is larger than GitHub's recommended maximum file size of 50 MB remote: error: GH001: Large files detected. remote: error: Trace: e6ade98208c08b634ed28aefea36dfbb remote: error: See http://git.io/iEPt8g for more information. remote: error: File pi/data/node-login.1 is 128.00 MB; this exceeds GitHub's file size limit of 100 MB To git@github.com:bobbyg603/goddard.git ! [remote rejected] master -> master (pre-receive hook declined) error: failed to push some refs to 'git@github.com:bobbyg603/goddard.git' 

的.gitignore:

 lib-cov *.seed *.log *.csv *.dat *.out *.pid *.gz data/ pids logs results npm-debug.log node_modules .project .settings 

谢谢,鲍比

感谢克里斯我能够解决这个问题通过运行以下:

git filter-branch -f –index-filter'git rm –cached –ignore -unmatch pi / data / node-login.0'

git filter-branch -f –index-filter'git rm –cached –ignore -unmatch pi / data / node-login.1'

git filter-branch -f –index-filter'git rm –cached –ignore-unmatch pi / data / local.0'

 git filter-branch -f --index-filter "git rm -rf --cached --ignore-unmatch FOLDERNAME" -- --all 

将FOLDERNAMEreplace为您希望从给定的git存储库中删除的文件或文件夹。

这对我工作:

 git rm --cached name_of_a_giant_file git rm --cached name_of_another_giant_file git commit --amend CHEAD git push 

采取从Github帮助:处理大文件

我已经使用BFG Repo Cleanner简单而快速,就像一个魅力

简单的,只需写下面的命令:

 git reset HEAD