2016-09-15 2 views
0

Я разрабатываю приложение в XCode, и я использую репозитории git через терминал. Все изменения зафиксированы, и теперь я хочу вернуться к моему последнему фиксации, но, однако, когда я пытаюсь «git checkout 10f3592», он говорит: «HEAD теперь в 10f3592 ...», но в XCode мои исходные файлы не изменены , Кажется, что git игнорирует мою команду. Что мне делать? Кто-нибудь сталкивался с таким поведением раньше? У меня всего одна ветка. Любая помощь приветствуется.git источник контроль проверка игнорируется

+0

Как вы думаете, 'мерзавец совершить 10f3592 'делает ?! Является ли '10f3592' вашей последней фиксацией? Если это так, то проверка этого ничего не изменит. – Biffen

+0

@ Закройте опечатку, я только что отредактировал сейчас. Я имел в виду checkout * –

+0

Итак, вы проверяете свою последнюю фиксацию? И вы ожидаете, что он «вернет» его? Похоже, вам лучше всего прочитать небольшую документацию/учебник Git. – Biffen

ответ

1

Команда git checkout 10f3592 просто проверяет ветвь в состоянии отдельной головки при фиксации 10f3592. Фактически это не изменяет состояние вашего филиала.

Если вы хотите, чтобы в буквальном смысле git revert совершить 10f3592, а затем использовать git revert:

git revert 10f3592 

Это будет инструктировать Git сделать новый совершить на верхней части ветви, которая эффективно уничтожает все, что совершить 10f3592 сделал.

Но иногда бывает не так приятно возвращать фиксацию в вашей истории. Один из способов избежать этого, если вы еще не нажаты местное отделения, и никто еще до сих пор не видел совершить 10f3592, является НИОТОМ, которые совершают с помощью:

git reset --hard HEAD~1 
+0

Теперь я заметил, что у меня ГОЛОВА, снятая в 10f3592. Как исправить отдельную голову? –

+1

@KirilShishkoski Нечего «исправлять». Просто проверьте свою ветку и следуйте моему ответу, чтобы удалить фиксацию. –

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