2015-03-25 2 views
-1

Я взял git для небольшого проекта по тестированию и попытался вернуть несколько версий. Теперь я что-то сделал, не знаю, что именно, и я ничего не могу с этим поделать. Чтобы избежать моих попыток объяснить это, я получил краткий обзор проблемы, поэтому, если кто-нибудь может ПОЖАЛУЙСТА, объясните, что я здесь сделал, и как лучше всего избавиться от проблемы.Revert git Изменения в ревизии

enter image description here

отметить: Я пытался вернуться к пересмотру изменений, которые в настоящее время помечена как HEAD.

+0

Если вы хотите переместить ветвь в состояние, которое было в этом деле, вместо двойного щелчка на фиксации, щелкните правой кнопкой мыши фиксацию и выберите вариант «Сброс» этой фиксации –

ответ

1

Что вы baiscally сделали отсоединяется голову. назад, чтобы зафиксировать «рефакторинг структуры».

HEAD - это место, где вы сейчас находитесь в брахнах. Голова может двигаться вперед и назад. Это трудно понять, что именно вы пытаетесь достичь, но если вы готовы вернуться к «структуре рефакторинга» и продолжить оттуда:

Из командной строки:

  1. запустить мастер мерзавец оформления заказа. Это вернет вас к 'revert123' в локальной ветви мастера.
  2. run git log. это покажет, что вы все фиксируете историю. скопируйте хеш фиксации «рефакторинг структуры». т.е.

    совершают d47ad1b23fb7ebcfaee36918b8ff0b68f1a3bebf

  3. выполнения мерзавец сброса --hard. это вернет вашу голову к «рефакторингу структуры», где хеш фиксации - тот, который вы только что скопировали выше (d47ad1b23fb7ebcfaee36918b8ff0b68f1a3bebf в моем случае).

в sourceTree:

  1. двойной щелчок на 'Revert123' это Checkout обратно в основной ветви
  2. правой кнопкой мыши на 'Структура рефакторинга' выбрать 'Сброс мастер на это обязательство'
  3. выберите режим: «жесткий»

примечание: это полностью удалит 'revert123' и 'test123'. если вы хотите сохранить изменения, выберите режим «soft»

+0

Отлично! Большое спасибо! Извините за глупый и неясный вопрос, но мои знания git очень ограничены ... Вот почему я пытаюсь это изучить ... – rexdefuror

1

У вас есть detached head. Есть много способов, как вы можете попасть сюда, так что это трудно сказать. Скорее всего, вы проверили конкретную фиксацию. Это происходит, если вы дважды щелкните фиксацию.

Я думаю, все, что вам нужно сделать, это проверить свою ветку снова. Попробуйте щелкнуть правой кнопкой мыши на главной ветке и выбрать checkout.

Если вы предпочитаете из терминала:

git checkout master 
+0

Хорошо, что-то сделал :) Как удалить все изменения после «Структурирования рефакторинга»? – rexdefuror

+0

Если вы хотите удалить коммиты, вам придется переписать историю.На картинке выше сделайте следующее: 1) сбросьте «ведущую» ветвь на фиксацию с «рефакторингом структуры», 2) нажмите эту ветвь в начало с помощью параметра силы (мастер -> начало/мастер) – istanishev