Подтвердить что ты не робот

Не удается удалить файл из git commit

Как сбросить все git коммиты, которые не были нажаты, а затем принудительно git ничего не делать в каталоге данных /<? >

Я пытаюсь переписать все изменения в проект, хранящийся в github, из моего проекта c9.io. Я случайно git добавил некоторые файлы данных mongodb. Я попытался добавить каталог data/в .gitignore. Я вытащил из github, чтобы получить обновленный .gitignore, однако, когда я пытаюсь и git push, эти упрямые файлы в данных/все еще поставлены для фиксации. Я также попробовал git reset, git rebase, git clean и this, где я изменил 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 recommended maximum file size of 50 MB
remote: warning: File pi/data/node-login.0 is 64.00 MB; this is larger than GitHub 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 file size limit of 100 MB
To [email protected]:bobbyg603/goddard.git
 ! [remote rejected] master -> master (pre-receive hook declined)
error: failed to push some refs to '[email protected]:bobbyg603/goddard.git'

.gitignore:

lib-cov
*.seed
*.log
*.csv
*.dat
*.out
*.pid
*.gz

data/

pids
logs
results

npm-debug.log
node_modules

.project
.settings

Спасибо, Бобби

4b9b3361

Ответ 1

Благодаря Chris я смог исправить это, выполнив следующее:

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'

Ответ 2

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

замените FOLDERNAME файлом или папкой, которую вы хотите удалить из данного репозитория git.

Ответ 4

Я использовал BFG Repo Cleanner простой и быстрый, работает как шарм

Ответ 5

git filter-branch --tree-filter 'rm -rf path/whaever' HEAD

Это немного проще, и это способ просто удалить и переписать его из истории. Вот результат

Rewrite 5ac3045254d33fc5bb2b9fb05dccbdbb986b1885 (61/62) (24 seconds passed, remaining 0 predicted)
Ref 'refs/heads/features_X' was rewritten

Теперь я могу подтолкнуть