2016-01-14 5 views
17

Я пытаюсь использовать рабочий стол GitHub (т. Е. Приложение GUI - НЕ), чтобы вернуться к предыдущей фиксации (в той же ветке). Что-то, что я бы подумал, является основной особенностью, так как это основная причина для использования управления версиями в первую очередь.Возврат к предыдущей фиксации в рабочем столе Github

Я вижу, что можно отменить фиксацию, но это не совсем то, что я хочу, поскольку он создает новую фиксацию. Я просто хотел бы вернуться с возможностью идти вперед снова, точно так же, как я могу просто прыгнуть в другую ветку.

Возможно ли это или это ограничение рабочего стола github, и для этого мне нужно использовать строку cmd?

+0

это зависит от того, что вы хотите сделать. Если вы хотите вернуться на место, например, для создания новой ветви, например, вы можете просто дважды щелкнуть по фиксации или найти вариант, который следует называть «checkout». Если вы хотите отменить изменения от этой фиксации, то возврат к ней - это путь, потому что иначе вы измените историю, что неверно. – njzk2

ответ

17

В общем, вы можете вернуться к фиксации в своей истории с помощью git reset.


Это невозможно с GitHub Desktop. GitHub Desktop - это скорее инструмент для синхронизации ваших репозиториев, а не полнофункциональный GUI-клиент.
Но это не значит, что вы должны использовать командную строку, так как есть альтернативы. Вы можете найти список here. Чтобы отметить несколько (что поддержка git reset):


Вот как это сделать в командной строке. Большинство клиентов предоставляют это в своем пользовательском интерфейсе с использованием того же словаря (как правило, вы можете выбрать фиксацию и сбрасывать на нее через контекстное меню).

Вы вернетесь к предыдущей фиксации с

git reset HEAD^ 

или еще несколько фиксаций (например, 3) по

git reset HEAD^3 

или конкретной фиксации на

git reset f7823ab 

Имейте в виду, что по умолчанию опция --mixed передается git reset , Таким образом, все внесенные изменения, так как вы совершите перезагрузку, все равно будут там.

Чтобы получить исходное состояние фиксации, которое вы хотите «вернуть», вы должны пройти --hard. Например:

git reset f7823ab --hard 
+1

хорошо спасибо, это определенно полезно, но я надеялся, что смогу это сделать в GitHub Desktop, используя графический интерфейс пользователя. –

+0

AFAIK GitHub Desktop - больше инструмент для синхронизации ваших хранилищ. Для ваших нужд я бы предложил использовать другой клиент GUI, например [TortoiseGit] (https://tortoisegit.org/) или [SourceTree] (https://www.sourcetreeapp.com/).Существует также список клиентов GUI [здесь] (http://git-scm.com/downloads). У них обычно есть тот же словарь, что и упоминалось выше. – SevenEleven

+0

Я сильно игнорирую использование GUI-клиентов для ежедневных git-операций. Я обнаружил, что быстро изучаю git, а также обнаружил, что некоторые gui-клиенты добавляют бессмысленные параметры к командам. Также консольные команды никогда не меняются ни на одной платформе. – Altoyyr

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

  • Нет связанных вопросов^_^