2012-01-05 4 views
3

Разработчик в моей команде совершил его изменения в неправильном удаленном репозитории. Я хочу удалить то, что он нажал в этот репозиторий в удаленном репозитории. Я не хочу ничего менять на месте.Отменить git push на удаленной ветке, не меняя локальный репозиторий?

Поэтому как я могу:

  1. Список коммиты на ветке удаленного хранилища, так что я могу видеть, который совершает, которые были вытеснены должны быть удалены.

  2. Удалите каждую из этих коммитов на ветке удаленного хранилища, чтобы я мог вернуться к фиксации до того, как он нажал его изменения.

Я не уверен, что «удаление» правильный процесс или, если он предназначается, чтобы быть «вернуться», но в конце концов мне нужен удаленный филиал хранилища, чтобы вернуться туда, где он был, прежде чем он толкнул его изменения.

ответ

5

Марк, где эта отрасль была последней по

git tag original-master origin/master 

проверять то, что вы получаете от сервера:

git fetch 

git log --all --graph 

или

gitk --all 

если тег все еще имеет смысл, что это где удаленная ветка должна быть, надавить на то, что вверх:

git push -f origin original-master:master 

, если это еще один коммит, толчок, который совершает в качестве ведущего:

git push -f origin <some SHA1>:master 

очистить:

git tag -d original-master 

обновления ветками отслеживания с исправлением:

git fetch 

Это предполагает, что «хозяин» - это отрасль, о которой идет речь. Замените «master» соответствующим именем ветки, если это другое.

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