Откат незафиксированных изменений в Github Desktop (или Github для Windows)
Я прочитал десятки сообщений о переполнении стека, а также много страниц в интернете (включая страницы справки GitHub), и мне потребовалось несколько часов, чтобы понять, как сделать эту супер простую вещь, которая, честно говоря, не очевидна вообще, поэтому я собираюсь ответить на свой собственный вопрос здесь.
Я использую GitHub для Windows (обновление: теперь это называется GitHub Desktop) и я внес кучу изменений в свои локальные файлы. Это стало таким беспорядком, что я решил, что просто хотите откатить мои локальные файлы туда, где они были в последний раз, когда я сделал фиксацию. Я не совершил новых изменений
3 ответов
при открытии GitHub для Windows v2.0 и выберите свой репозиторий в крайнем левом столбце, вы увидите все свои предыдущие коммиты во 2-м столбце слева. Если вы выберете один из этих коммитов, в правом столбце вверху вы увидите "Revert", который говорит, Когда вы наведете курсор мыши, " создайте новый коммит, который отменяет изменения в этом коммите."Я не думаю, что это то, что вы хотите сделать, так как вы не хотите возвращать изменения в этом обязательстве, а скорее возвращать изменения это еще не было совершено. Так что не делай этого. (Когда вы выбираете " незафиксированные изменения "во 2-м столбце, ссылка" отменить " отсутствует.
есть два варианта - Первый легко, а второй супер-легко:
легко - выберите свой репозиторий в крайнем левом столбце, затем нажмите значок шестеренки в правом верхнем углу и выберите "Открыть в Git Shell". Оболочка должна открываться и находиться в каталоге вашего репозитория. Оттуда вы можете ввести git reset --hard
для возврата файлов, измененных с момента последнего фиксации, а затем git clean -fd
удалить все файлы, добавленные с момента последнего коммита. Очевидно, вы можете введите другие команды git здесь как хорошо.
супер просто - выберите свой репозиторий в крайнем левом столбце, а затем нажмите "незафиксированные изменения" во 2-м столбце, чтобы отобразить измененные файлы справа. Если вы щелкните правой кнопкой мыши на любом файле, у вас будет возможность " удалить изменения." (Как можно узнать, чтобы щелкнуть правой кнопкой мыши, вне меня.) Если вы щелкните правой кнопкой мыши в пространстве рядом с "файлы для фиксации", у вас будет возможность " отменить все изменения."Нажмите это и presto, все ваши изменения будут стерты, и ваши локальные файлы вернутся туда, где они были в последний раз, когда вы сделали фиксацию.
GitHub для Windows v3 сделал" супер легкий " ответ выше устаревшим и, еще раз, выяснить, что делать, просто не очевидно. На этот раз выберите свой репозиторий в крайнем левом столбце, а затем нажмите ссылку "{#} uncommitted changes" вверху слева от "History". Это должно дать вам среднюю колонку, как показано ниже. Чтобы отменить незафиксированные изменения, щелкните правой кнопкой мыши текст "{#} changes " над списком измененных файлов. (Нажатие в белом пространстве вокруг этого текста ничего не происходит.) Нажмите "Отменить все изменения" и, еще раз, presto, все ваши изменения будут стерты, и ваши локальные файлы вернутся туда, где они были в последний раз, когда вы сделали фиксацию. (Кстати, щелчок правой кнопкой мыши по любому из перечисленных файлов позволит вам отменить незафиксированные изменения только для этого файла.)
в ногу со временем, Github для Windows имеет огромный макияж, так что вот новый ответ. Теперь он называется GitHub Desktop и номер версии начали с v1.0.0. Так что если вы используете GitHub Desktop v1 тогда ваш пользовательский интерфейс будет выглядеть немного по-другому.
эта супер-удобная, всегда скрытая маленькая функция, однако, все еще существует.
во-первых, выберите свой репозиторий в крайнем левом раскрывающемся списке черная область. Убедитесь, что вы затем выберите вкладку с надписью "изменения". Теперь вы можете щелкнуть правой кнопкой мыши в любом месте прямоугольника, содержащего "{ # } измененные файлы", и вы получите всплывающее окно с надписью " отменить все изменения...- Нажми на нее, и ты, престо, вернешься туда, где был в прошлый раз.
бонус: вы также можете щелкнуть правой кнопкой мыши любой из измененных файлов, чтобы получить всплывающее окно, которое позволит вам "сбросить изменения...- только для этой папки. Нажмите это и только это файл вернется туда, где он был при последней фиксации.
Рабочий Стол Github документация теперь включает в себя информацию о том, как отменить изменения. Однако это неверно! При щелчке правой кнопкой мыши на отдельном файле всплывающее окно делает не дайте опцию " отменить все изменения...- как показывает их снимок на экране. Чтобы отбросить все изменения, вам нужно сделать так, как я описал выше.