Как удалить последний коммит Git в Bitbucket?
Я храню файлы laravel в битбакете, и у меня также есть локальная копия проекта. Каждый раз, когда я сохраняю свою локальную копию, я отправляю ее в удаленный репозиторий в битбакете, чтобы у них было такое же обновление.
Проблема: я допустил ошибку в своем локальном проекте и хочу удалить последнюю фиксацию в удаленном репозитории в битбакете.
Кто-нибудь знает, как удалить / удалить последнюю фиксацию в битбакете?
4 ответа
Вы можете использовать git hard reset git reset документацию тогда вам просто нужно принудительно нажать свой репозиторий
Посмотрите этот пост:
В нем будут описаны методы для этого.
Но имейте в виду, что если ваш сервер не разрешает принудительное нажатие, вы не сможете отправить старый коммит HEAD на сервер,
Сначала удалите фиксацию в вашем локальном репозитории. Вы можете сделать это с помощью git rebase -i . Например, если это ваша последняя фиксация, вы можете сделать git rebase -i HEAD
2 и удалить вторую строку в появившемся окне редактора.
Затем нажмите с усилием на свою репутацию с помощью git push origin +master .
Рабочее дерево грязное, вы должны сначала сделать git stash , а затем git stash apply .
Начните с отмены последней фиксации в вашем локальном репозитории:
Если вы хотите отменить фиксацию, но сохранить изменения в дереве файлов, используйте
git отменить определённый коммит
Для отмены определённого коммита в git нужно знать sha1 — уникальный идентификатор коммита. Это 40-символьная строка — хэш коммита. Например, c8a861ebb73d5164c76d74ba4a55be517d67944d или 54e7fd1065761ef1d58d83b1a7f60b3ba63eff40.
Можно указывать первые n символов, а не sha1 целиком.
Отменить определённый коммит в git нужно командой:
git revert sha1
1. Сначала находим нужный нам коммит, который нужно отменить. Нас интересует sha1-хэш коммита. Используем для этого любую удобную утилиту для работы с git или через интерфейс github, bitbucket и т.д.
Для поиска хэша коммита я использую стантартную команду git log .
Если помните примерное имя коммита, то можно грепнуть из git log, например:
2. Теперь отменяем коммит командой git revert с указанием sha1 коммита:
При возникновении конфликтов придётся их пофиксить, как и при git merge. После чего нужно будет как обычно сделать git add , git commit .
Если конфликтов нет, то автоматически будет создан новый коммит, отменяющий указанный коммит.
Коммит отменён. Как можно было заметить, отмена коммита — это создание нового коммита (реверт-коммит), который отменяет определённый коммит.
Есть возможность "чистой" отмены последнего коммита в git, если ещё не сделан git push. В этом случае никаких реверт-коммитов не останется в git-истории.
Как удалить последний коммит из bitbucket?
Дело для меня не простое
Проект древний, запутанный, сделан криворукими разработчиками, что его еле на сервер воткнули, и то не с первого раза.
Я пытался локального его и так и эдак запустить — ничего не помогало. Решил работать со стилями «вслепую» — делаю изменения, пулл на сервере и смотрю.
И вот так позабыв, что я пытался его ставить, сделал несколько изменений, сделал пуш в репозиторий, пулл на сервере и проект лег.
Быстренько откатил до предыдущего коммита на сервере.
Но как теперь удалить мой последний коммит с репозитория? Попробовал локально git revert — удалился коммит, но все изменения, которые все равно закоммитятся, остались. Снес вообще локальный клон, клонировал репозиторий снова.
Как правильно поступить, чтобы вообще остался только предыдущий коммит без каких-либо изменений?
Была б кнопка «удалить последний коммит» в интерфейсе битбакета — было бы идеально.