2015-05-05 3 views
0

Я хотел бы сбросить m репозиторий на старый фиксатор и начать отслеживать изменения оттуда. Это похоже на 50 коммитов назад, поэтому git revert не вариант. Что мне делать?Как я могу сбросить фиксацию и сделать ее мастером?

P.S. update - Мне также нужно нажать эту фиксацию и стать последней фиксацией в репозитории.

+0

возможно дубликат [Возврат к предыдущей фиксации Git] (http://stackoverflow.com/questions/4114095/revert-to-a-previous-git-commit) – Joe

+0

Джо Если я использовать метод выше - Мне нужно будет написать все 50 команд SHA вручную ... – naneri

+0

Я не верю, что вы поняли ответы в дублированном вопросе. –

ответ

1
$ git reset --hard <commit-hash-of-commit-to-reset-to> 

Имейте в виду, это удалит все изменения с тех пор, если вы хотите, чтобы сохранить изменения и просто удалить коммиты, используйте --soft вместо жесткого

+0

'git reset --soft' [не обновляет индекс] (http://git-scm.com/docs/git-reset), поэтому все изменения будут выполняться после завершения сброса. Если вы хотите сохранить изменения _only_ в своей рабочей копии (а не в индексе), используйте 'git reset --mixed' или просто' git reset'. –

0

ответ Тима правильно. Я добавляю немного больше информации, которую я нашел на http://git-scm.com/docs/git-reset

$ git commit ...    (1) 
$ git reset --soft HEAD~1  (2) 
<< edit files as necessary >> (3) 
$ git add ....    (4) 
$ git commit -c ORIG_HEAD  (5) 

(1) Это то, что вы хотите, чтобы отменить

(2) Это чаще всего сделано, когда вы вспомнили, что вы просто совершили является неполным или вы ошибочно написали ваше сообщение commit1 или оба. Листья рабочего дерева, как это было до «фиксации».

(3) Внести исправления в файлы рабочих деревьев.

(4) Изменения этапа для фиксации.

(5) Завершите изменения, повторно используя старое сообщение фиксации. сброс скопирован старая голова в .git/ORIG_HEAD; commit с -c ORIG_HEAD откроет редактор , который изначально содержит сообщение журнала из старого commit и позволяет редактировать его. Если вам не нужно редактировать сообщение, вы можете использовать вариант -C.

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