2013-02-27 3 views
3

я сделал плохие коммиты в GitHub и я хочу сделать следующие вещи:
мерзавец контроля фиксации и удалить новые совершает

  1. выезда на старый совершающий от другой ветви, чем мастер
  2. сделать это совершить мой последний коммит (удалить те после этого)
  3. сделать эту отрасль в качестве основной отрасли и удалить все остальные ФИЛИАЛЫ
  4. слияния мастер ветви на новый

Можно ли это сделать?

+0

Этот [сообщение] (http://stackoverflow.com/questions/448919/how-can-i-remove-a-commit-on-github) может оказать некоторую помощь. – SMT

ответ

2

Команда Ключ:

git checkout -B master aSHA1 

Если вы знаете, где вы хотите сбросить мастер-ветви, то есть способ сделать это в одной строке.

От git checkout man page:

-B <new_branch> 

Создает филиал <new_branch> и запустить его на <start_point>;
если он уже существует, а затем установите его в <start_point>. Это эквивалентно запуску «git branch» с «-f»;

Затем вы можете заставить его нажать:

git push --force 

Это сбросит origin/master (главный филиал на стороне GitHub) к старому SHA1.

+0

спасибо, я попробую, и я приму свой ответ. – user2065529

+0

это также означает, что я могу восстановить мастер в исходное состояние? – user2065529

+0

@ user2065529 вы можете сбросить его до любой предыдущей фиксации (из ветви 'master'), которую вы хотите, да. – VonC

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