Откат незафиксированных изменений в Github Desktop (или Github для Windows)

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

Я использую GitHub для Windows (обновление: теперь это называется GitHub Desktop) и я внес кучу изменений в свои локальные файлы. Это стало таким беспорядком, что я решил, что просто хотите откатить мои локальные файлы туда, где они были в последний раз, когда я сделал фиксацию. Я не совершил новых изменений

3 ответов


при открытии GitHub для Windows v2.0 и выберите свой репозиторий в крайнем левом столбце, вы увидите все свои предыдущие коммиты во 2-м столбце слева. Если вы выберете один из этих коммитов, в правом столбце вверху вы увидите "Revert", который говорит, Когда вы наведете курсор мыши, " создайте новый коммит, который отменяет изменения в этом коммите."Я не думаю, что это то, что вы хотите сделать, так как вы не хотите возвращать изменения в этом обязательстве, а скорее возвращать изменения это еще не было совершено. Так что не делай этого. (Когда вы выбираете " незафиксированные изменения "во 2-м столбце, ссылка" отменить " отсутствует.

"Revert" link in GUI

есть два варианта - Первый легко, а второй супер-легко:

легко - выберите свой репозиторий в крайнем левом столбце, затем нажмите значок шестеренки в правом верхнем углу и выберите "Открыть в Git Shell". Оболочка должна открываться и находиться в каталоге вашего репозитория. Оттуда вы можете ввести git reset --hard для возврата файлов, измененных с момента последнего фиксации, а затем git clean -fd удалить все файлы, добавленные с момента последнего коммита. Очевидно, вы можете введите другие команды git здесь как хорошо.

Git Shell for entering CLI

супер просто - выберите свой репозиторий в крайнем левом столбце, а затем нажмите "незафиксированные изменения" во 2-м столбце, чтобы отобразить измененные файлы справа. Если вы щелкните правой кнопкой мыши на любом файле, у вас будет возможность " удалить изменения." (Как можно узнать, чтобы щелкнуть правой кнопкой мыши, вне меня.) Если вы щелкните правой кнопкой мыши в пространстве рядом с "файлы для фиксации", у вас будет возможность " отменить все изменения."Нажмите это и presto, все ваши изменения будут стерты, и ваши локальные файлы вернутся туда, где они были в последний раз, когда вы сделали фиксацию.

enter image description here


GitHub для Windows v3 сделал" супер легкий " ответ выше устаревшим и, еще раз, выяснить, что делать, просто не очевидно. На этот раз выберите свой репозиторий в крайнем левом столбце, а затем нажмите ссылку "{#} uncommitted changes" вверху слева от "History". Это должно дать вам среднюю колонку, как показано ниже. Чтобы отменить незафиксированные изменения, щелкните правой кнопкой мыши текст "{#} changes " над списком измененных файлов. (Нажатие в белом пространстве вокруг этого текста ничего не происходит.) Нажмите "Отменить все изменения" и, еще раз, presto, все ваши изменения будут стерты, и ваши локальные файлы вернутся туда, где они были в последний раз, когда вы сделали фиксацию. (Кстати, щелчок правой кнопкой мыши по любому из перечисленных файлов позволит вам отменить незафиксированные изменения только для этого файла.)

Screen shot of GitHub for Windows v3


в ногу со временем, Github для Windows имеет огромный макияж, так что вот новый ответ. Теперь он называется GitHub Desktop и номер версии начали с v1.0.0. Так что если вы используете GitHub Desktop v1 тогда ваш пользовательский интерфейс будет выглядеть немного по-другому.

эта супер-удобная, всегда скрытая маленькая функция, однако, все еще существует.

во-первых, выберите свой репозиторий в крайнем левом раскрывающемся списке черная область. Убедитесь, что вы затем выберите вкладку с надписью "изменения". Теперь вы можете щелкнуть правой кнопкой мыши в любом месте прямоугольника, содержащего "{ # } измененные файлы", и вы получите всплывающее окно с надписью " отменить все изменения...- Нажми на нее, и ты, престо, вернешься туда, где был в прошлый раз.

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

enter image description here

Рабочий Стол Github документация теперь включает в себя информацию о том, как отменить изменения. Однако это неверно! При щелчке правой кнопкой мыши на отдельном файле всплывающее окно делает не дайте опцию " отменить все изменения...- как показывает их снимок на экране. Чтобы отбросить все изменения, вам нужно сделать так, как я описал выше.