2011-10-30 2 views
0

Я использую github для хранения моего кода. Я совершил код, который имеет ошибки, и я не могу его исправить. Теперь я хочу вернуться к более ранней версии кода, которая работает нормально. Может кто-то, пожалуйста, помогите мне вернуться к старому рабочему коду.возвращение к старой фиксации в github

Благодаря
Панкай

ответ

3

Я предполагаю, что, как вы задали свой вопрос, вы уже внесли свои изменения в Github.

Вы можете использовать git revert, чтобы отменить фиксацию. Это не изменяет историю хранилища, скорее, оно совершает изменения, которые противоположны вашей нарушенной ревизии.

Если коммит, который вы хотите удалить, последний один тип

git revert HEAD 

, чтобы отменить его.

Заменить HEAD с идентификатором сломанной фиксации, если он не является последним. Вы можете найти идентификатор на выходе git log.

0

Если вы еще не толкнул его еще, а затем запустить

git reset HEAD 

отменить. Он удаляет последнюю фиксацию.

+0

Я бы предпочел набрать 'git reset HEAD', с нижним регистром 'r' в 'reset'. Git чувствителен к регистру. – p4010

+0

Вы правы .. опечатка – yek

0

Если вы еще не подтолкнули плохую фиксацию к github, вы можете изменить фиксацию.

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

См. также this page для способов возврата.

Лично я предпочитаю просматривать diff от предыдущих коммитов, используя, например, git log -p или git diff <goodCommit> <head>, чтобы найти изменения и исправить их. Если вы не возражаете, иметь документально подтвержденную историю своих ошибок, это, вероятно, самый чистый и легкий (при изменении истории могут возникнуть проблемы, если другие уже вытащили вас с нарушением фиксации).

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