2014-09-16 2 views
5

Я сделал неправильную фиксацию, и я подтолкнул ее в свой приватный репозиторий bitbucket.org. Как я могу полностью удалить эту фиксацию из истории?Полностью удалить фиксацию из истории Bitbucket

Я попытался следующие:

git reset --hard HEAD~1 
git reset HEAD~ 
git commit -m "some message" 
git push -f 

Я сделал это на основе решения от Bitbucket git reset

Тем не менее, предыдущие коммиты доступны.

С правой стороны панели репозитория в последней активности есть ссылка на изменения в фиксации, которые я хотел удалить из истории.

Является ли эта информация (история, которую я собирался удалить) из моего репозитория?

Или

  1. Является ли это какой-то особенностью bitbucket.org?
  2. Я сделал некоторые шаги неправильно? Который?
  3. Как полностью удалить фиксацию из истории на bitbucket.org?
+0

Попробуйте [рекомендуемый подход GitHub в] (https://help.github.com/articles/remove-sensitive-data). – Ryan

+0

Проблема заключается в том, что я не могу понять, является ли фиксация еще доступной, потому что я сделал несколько шагов неправильно или это особая особенность Bitbucket. Нет никаких признаков удаленных коммитов в 'git log' или RSS-ленте Bitbucket для репозитория, но некоторые ссылки в панели истории направляют меня на те удаленные коммиты – Nima

+0

У меня такая же проблема. Кроме того, я могу получить доступ к этим удаленным коммитам из Джиры. – Jorj

ответ

1

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

Предположив свою историю, как в следующем, и вы хотите удалить commit 200:

commit 300 
commit 200 
commit 100 

Выполните следующие действия:

git rebase -i HEAD~3

Теперь удалите линию commit 200.

Сохраните файл, а затем принудительно нажать ветвь на пульте дистанционного управления:

git push -f origin <branch_name> 
+0

Спасибо за ваш ответ, но, как я уже указывал в вопросе, я уже пробовал нажать кнопку -f'. – Nima

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