Не удается нажать ›репо на 2 ГБ после очистки файлов с помощью BFG

Я случайно отправил несколько больших файлов, которые должны были игнорироваться, в git, и в результате мое репо превышает 2 ГБ. Я пытаюсь очистить некоторые файлы с помощью BFG, и мне удалось очистить около 400 МБ, но при попытке нажать я получаю следующую ошибку

Counting objects: 1510, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (621/621), done.
Writing objects: 100% (1510/1510), 373.84 MiB | 11.69 MiB/s, done.
Total 1510 (delta 879), reused 1403 (delta 778)
remote: Resolving deltas: 100% (879/879), completed with 95 local objects.
remote: repository is in read only mode (over 2 GB size limit).
remote:
remote: Learn how to reduce your repository size: https://confluence.atlassian.com/x/xgMvEw.
To https://bitbucket.org/HIDDEN/REPO.git
 ! [remote rejected]   feature/feature -> feature/wikitude (pre-receive hook declined)
error: failed to push some refs to 'https://bitbucket.org/HIDDEN/REPO.git'

Я читал в Интернете, что принудительный толчок может решить эту проблему, но я считаю, что это может быть рискованно, у меня есть резервная копия с --mirror моего репо перед удалением файлов с помощью bfg.


person Joe Scotto    schedule 18.07.2018    source источник
comment
Какую команду вы использовали для нажатия? В частности, какие флаги вы подарили?   -  person Code-Apprentice    schedule 18.07.2018
comment
@ Code-Apprentice Сначала я запустил git reflog expire --expire=now --all && git gc --prune=now --aggressive, а затем git push   -  person Joe Scotto    schedule 18.07.2018


Ответы (2)


Удаляя файлы, вы создали новые коммиты и совершенно новую историю, отличную от той, что есть в удаленном репо для ветки. Вы должны использовать git push -f, чтобы принудительно продвинуть ваши изменения.

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

person Code-Apprentice    schedule 18.07.2018
comment
Не работает принудительное нажатие, выдает ту же ошибку. Репо находится в режиме только для чтения. - person Joe Scotto; 18.07.2018
comment
@JoeScotto Вы когда-нибудь раньше успешно нажимали на репо? - person Code-Apprentice; 18.07.2018
comment
Да вот так и перебралось 2гб. - person Joe Scotto; 18.07.2018
comment
@JoeScotto Вы прочитали все предложения на странице Atlassian, приведенные в сообщении об ошибке? - person Code-Apprentice; 18.07.2018

Пришлось сначала связаться с BitBucket, чтобы очистить репо на их конце, прежде чем позволить мне нажать.

person Joe Scotto    schedule 21.08.2018