2016-01-13 3 views
-1

У меня около пяти местных коммитов. Но в первом коммите я добавил большой файл, около 150 МБ. Когда я нажимаю на github, я получаю ошибку о большом файле.Удалить файл из локальной фиксации. Невозможно использовать вариант с запасом

Я пытался удалить этот файл в последнем коммите, но он не работает. Я думал, что git может это понять, но это не так.

Как удалить этот файл из фиксации или удалить первый коммит полностью, если это будет легко?

+0

Вы можете использовать 'git rebase'. – wogsland

+1

«Интерактивная перебаза» объясняется здесь http://stackoverflow.com/questions/2100907/how-to-remove-delete-a-large-file-from-commit-history-in-git-repository, которая должна вам помочь. –

+0

Используйте опцию «edit» для интерактивной перезагрузки, как указано выше, и вы можете остановить, удалить файл, а затем продолжить. –

ответ

2

'Интерактивная перебазироваться' часть ответа в

How to remove/delete a large file from commit history in Git repository?

должен помочь вам.

«мерзавец Лола» команды есть псевдоним «мерзавец лог --graph --decorate --pretty = oneline --abbrev-коммит --all --date = местный»

+0

Не уверен в релевантности команды 'lola', но вы должны привести пример того, как переустанавливать, если эта ссылка уходит. –

+0

Спасибо. Я сделал с интерактивной rebase. – user348173

+0

Я связался с ответом stackoverflow, надеясь, что он останется доступным (практически) на неопределенный срок. Есть ли какое-то истечение для старых ответов? –

1

Вы можете сбросить голова, а затем убрать из буфера мб файла 150 и удалять, и совершать еще раз, как это:

  • 1 - git reset --soft HEAD~1
  • второй - git reset -q HEAD -- <FILE>
  • третий - удалить файл
  • Так что теперь просто добавлять и совершать другие файлы
+0

Смогу ли я потерять историю? – user348173

+0

@ user348173 nop, вы просто потеряете историю из файла 150 mb. –

+0

Фактически вы * будете * потерять историю фиксации, поскольку вы уничтожаете фиксации до того момента, когда вы вводите большой файл. Пять коммитов станут единым целым. –

0

Вы можете использовать журнал GIT для отображения фиксации истории, а затем использовать мерзавец сбросить SHA, где ША является первые 7 символов предыдущего совершающие, к положите это как ваш последний фиксатор

1 - git log 
2 - git reset SHA 
Смежные вопросы