Откат неустановленных изменений в GitHub Desktop (или Github для Windows)
Я читал десятки сообщений о переполнении стека, а также много страниц в Интернете (включая страницы справки GitHub), и мне потребовалось много часов, чтобы понять, как сделать эту сверхпростую вещь, которая, откровенно говоря, не очевидна, так что Я собираюсь ответить на свой вопрос здесь.
Я использую GitHub для Windows (update: теперь он называется Github Desktop), и я сделал кучу изменений в своих локальных файлах. Это стало таким беспорядком, что я решил, что просто хочу откат моих локальных файлов туда, где они были в последний раз, когда я совершил коммит. Я не совершал новых изменений - я просто хочу избавиться от них. Как я могу это сделать?
Ответы
Ответ 1
В соответствии со временем, Github для Windows имеет огромный макияж, так что вот новый ответ. Теперь он называется Github Desktop и номера версий началось с версии 1.0.0. Поэтому, если вы используете Github Desktop v1, ваш пользовательский интерфейс будет выглядеть немного иначе.
Эта сверхсовременная, всегда скрытая небольшая функция, однако, все еще существует.
Сначала выберите свой репозиторий в выпадающем списке в левом нижнем углу в черной области. Убедитесь, что вы выбрали вкладку "Изменения". Теперь вы можете щелкнуть правой кнопкой мыши в любом месте прямоугольника, содержащего "{#} измененные файлы", и вы получите всплывающее окно с надписью "Отменить все изменения...". Щелкните это, и, прежде, вы вернетесь туда, где вы были в последний раз, когда совершили фиксацию.
Бонус: вы также можете щелкнуть правой кнопкой мыши любой из измененных файлов, чтобы получить всплывающее окно, которое позволит вам "Отменить изменения..." только для этого файла. Нажмите это, и только этот файл вернется обратно туда, где он был при последнем фиксации.
![введите описание изображения здесь]()
Документация Github Desktop теперь включает информацию о том, как отказаться изменения. Это, однако, неверно! Когда вы щелкаете правой кнопкой мыши по отдельному файлу, всплывающее окно не дает опции "Отменить все изменения..." , поскольку их показанный снимок экрана указывает. Отбросить все изменения, которые вам нужно сделать, как я описал выше.
Ответ 2
Когда вы открываете GitHub для Windows v2.0 и выбираете свой репозиторий в крайнем левом столбце, вы увидите все свои предыдущие фиксации во втором столбце слева. Если вы выберете один из этих коммитов, в правом столбце в верхней части вы увидите "Revert", который говорит, когда вы наводите "Создать новый коммит, который возвращает изменения в этом фиксации". Я не думаю, что это то, что вы хотите сделать, так как вы не хотите возвращать изменения в этом коммите, а скорее отказываетесь от изменений, которые еще не были зафиксированы. Так что не делай этого. (Когда вы выбираете "Uncommitted changes" во втором столбце, ссылка "Revert" не существует.
!["Revert" link in GUI]()
Есть два варианта: первое легко, а второе - простое:
Easy. Выберите свой репозиторий в крайнем левом столбце, затем щелкните значок шестеренки в правом верхнем углу и выберите "Открыть в Git Шелл". Оболочка должна открыться и находиться в директории вашего репозитория. Оттуда вы можете ввести git reset --hard
, чтобы вернуть файлы, измененные с момента последнего коммита, а затем git clean -fd
, чтобы удалить все файлы, добавленные со времени последнего коммита. Очевидно, вы можете ввести другие команды Git здесь.
![Git Shell for entering CLI]()
Super easy - выберите свой репозиторий в крайнем левом столбце, а затем щелкните "Uncommitted Changes" во втором столбце, чтобы отобразить измененные файлы справа. Если вы щелкните правой кнопкой мыши по любому файлу, у вас будет опция "Отменить изменения". (Как можно было бы узнать, щелкнув правой кнопкой мыши, выйдет за рамки меня.) Если вы щелкните правой кнопкой мыши в пространстве рядом с "Файлы для фиксации", у вас будет возможность "Отменить все изменения". Щелкните это и престо, все ваши изменения будут уничтожены, а ваши локальные файлы вернутся туда, где они были в последний раз, когда вы совершили коммит.
![enter image description here]()
Ответ 3
GitHub для Windows v3 сделал "сверхлегкий" ответ выше устаревшего, и, опять же, выяснить, что делать, просто не очевидно. На этот раз выберите свой репозиторий в крайнем левом столбце, а затем нажмите ссылку "{#} uncommitted changes" вверху слева от "History". Это должно дать вам среднюю колонку, как показано ниже. Чтобы отменить ваши незафиксированные изменения, вам нужно щелкнуть правой кнопкой мыши текст "{#} changes" над списком списка измененных файлов. (Щелчок в белом пространстве вокруг этого текста ничего не делает.) Нажмите "Отменить все изменения" и, еще раз, престо, все ваши изменения будут уничтожены, а ваши локальные файлы вернутся туда, где они были в последний раз, когда вы совершили коммит, (Кстати, щелчок правой кнопкой мыши по любому из перечисленных файлов позволит вам отменить незафиксированные изменения только для этого файла.)
![Снимок экрана GitHub для Windows v3]()