2016-02-06 5 views
1

я некоторые большие файлы в моем хранилище GitHub, который я пытался добавить/совершить/толчок, но команда толчок дал следующую ошибкуэто превышает ограничение на размер файла GitHub в

удаленный: Ошибка: Файл app_dump.sql является 106.67 MB ; это превышает предел размера файла GitHub 100.00 MB

Итак, я удалил большой файл (app_dump.sql) из своего репозитория и снова добавил/зафиксировал/нажал. Но я думаю, что это было неправильно, потому что всякий раз, когда я его нажимаю, все равно попытается нажать большой файл?

$ git status 
On branch master 
Your branch is ahead of 'origin/master' by 4 commits. 
    (use "git push" to publish your local commits) 

nothing to commit, working directory clean 

так что теперь я получаю ту же ошибку в размере файла каждый раз, когда я нажимаю. Как удалить файл из git? Я попытался

$ git rm app_dump.sql 
fatal: pathspec 'app_dump.sql' did not match any files 

но не нашел файл, потому что я удалил его ... Thanks деревенщина

+0

Перед добавлением большого файла вам нужно проверить ветку. Восстановите все, кроме добавления большого файла поверх этого. Это станет вашим новым «хозяином». – Thilo

ответ

1

Смотрите эту статью: https://help.github.com/articles/remove-sensitive-data/. В основном вы хотите переписать историю хранилища. Но всегда будьте осторожны с командой git filter-branch!

git filter-branch --force --index-filter \ 
'git rm --cached --ignore-unmatch app_dump.sql' \ 
--prune-empty --tag-name-filter cat -- --all 

Если бы я был вами, я бы сначала создал локальную резервную копию хранилища. Просто скопируйте всю папку в другое место, чтобы вы могли экспериментировать с вашим репо.

Когда вы довольны результатами, передайте их Github и помните, что это переписывает историю, поэтому любой файл, удаленный здесь, также исчезнет из истории Github.

1

После удаления файла все еще остается в git-коммитах, поэтому вам нужно будет отредактировать git-историю, чтобы удалить файл из фиксации, где вы его добавили в первую очередь.

ли интерактивный перебазироваться на коммит, прежде чем он:

  • git rebase -i ThatCommitSha~1 и поставить edit на линии с тем, что совершают
  • Rebase остановится на этой фиксации, git rm файл и commit --amend
  • git rebase --continue в связать все последующие коммиты (они также будут изменены, потому что значение commit-with-sha изменится)
1

Try Отмена коммитов вы сделали:

git reset HEAD~1 

Это должно отменить 1 местный совершить. Отмените локальные коммиты до того, как был добавлен большой файл. Удалите большой файл. Зафиксируйте свои изменения, затем нажмите.

+0

Обратите внимание, что это вызовет локальные коммиты, OP может захотеть сохранить историю – Vasfed

Смежные вопросы