Битбакет разделяет git ревизии

После нажатия на битбакет мои комлекты коммиты удаляются, и появляется сообщение о подаче новостей в битбакете

stripped 6f9de58aa748 from projektA
4 hours ago
stripped 54dae89de600 from projektA
4 hours ago
stripped e04022989a9d from projektA
...

Как я могу спасти коммиты? Действительно ли Git система управления версиями, которая позволяет удалять коммиты? Это связано с --force?

Ответ 1

Как я могу спасти коммиты?

К сожалению, вы ничего не можете сделать на своем сайте, чтобы вернуть эти данные (details). Вам нужно связаться с командой обслуживания BB, так как только они могут восстановить эти коммиты.

Является ли Git действительно системой управления версиями, которая позволяет удалять коммиты?

Когда вы его настроите. Вы должны установить receive.denyNonFastForwards в true, чтобы отключить это поведение в репозитории на сервере (который является значением по умолчанию, когда git init был запущен с параметром --shared, но в противном случае это false).

Это из-за -force?

Да, используя параметр force на git push делает серверную сторону Git отключать проверку безопасности, если ваша новая ветвь ветки выбрасывает другие коммиты, а receive.denyNonFastForwards - false.

Ответ 2

В случае, если кто-либо еще найдет эту нить, ищущую отчаянно, для "битбакетных разделов", как я был:

Мне удалось восстановить локальную локацию, следуя этим инструкциям.

Затем я снова подтолкнул битбакет, и зачищенные коммиты были восстановлены.

Ответ 3

Мы также столкнулись с этим в последнее время. Должен сказать, довольно раздражающе. Но в нашем случае снятые коммиты были восстановлены сразу же после того, как исходный пользователь снова нажал. Другая вещь, которую мы сделали, чтобы избежать этого снова, заключалась в том, чтобы отключить "Историю Re-write" на рассматриваемой отрасли.

Надеюсь, что это поможет кому-то, кому это грозит в будущем!