Могу ли я отменить последний толчок мерзавца? - PullRequest
35 голосов
/ 10 июня 2010

Член команды случайно отправил половину концерта нежелательных почтовых индексов в удаленное репо прошлой ночью, когда они были в спешке. Да ... упс.

Никто не притянул или совершил с тех пор.

В идеале я хочу просто «отменить» то, что произошло.

Я посмотрел на ветку фильтра и подумывал попробовать что-то вроде

git filter-branch --tree-filter 'rm -f *.zip' HEAD

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

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

Очевидно, что если она удаляет их, фиксирует и подталкивает снова, это все равно оставляет контент в репо, что не годится.

Ответы [ 2 ]

54 голосов
/ 10 июня 2010

Спасибо, Дон, я видел это, но почему-то не понял, что это решило мою проблему, потому что у меня только одна ветвь.

Я сделал:

git push -f origin 5910117a8fc2c71334251465b54d6d9daeb28d1c:master

И это всевернуться к тому, как это было.

5 голосов
/ 24 февраля 2015

Я думаю

git reset --hard HEAD^
git push -f

следует уловке: он сбрасывает вашу локальную проверку на предыдущую фиксацию (при условии, что последняя будет той, которую вы хотите отбросить) и принудительно выталкивает ее в удаленный репозиторий.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...