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

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


person Mark Cramer    schedule 26.07.2014    source источник


Ответы (3)


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

Восстановить ссылку в графическом интерфейсе

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

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

Git Shell для входа в CLI

Очень просто. Выберите свой репозиторий в крайнем левом столбце, а затем нажмите «Незафиксированные изменения» во втором столбце, чтобы отобразить измененные файлы справа. Если вы щелкните правой кнопкой мыши любой файл, у вас будет возможность «Отменить изменения». (Как узнать, что нужно щелкнуть правой кнопкой мыши, я не понимаю.) Если щелкнуть правой кнопкой мыши в пространстве рядом с «Файлы для фиксации», у вас будет возможность «Отменить все изменения». Нажмите на нее и вуаля, все ваши изменения будут удалены, а ваши локальные файлы вернутся туда, где они были в последний раз, когда вы делали коммит.

введите здесь описание изображения

person Mark Cramer    schedule 26.07.2014
comment
Я бы рекомендовал ограничить ваш ответ только самым простым решением. На первую часть вашего ответа уже был дан ответ здесь. Ваше самое простое решение высоко ценится и выиграет от того, что оно само по себе. - person techkilljoy; 02.06.2015
comment
Спасибо. Просто пытаюсь быть полным. - person Mark Cramer; 23.06.2015
comment
@techkilljoy На самом деле, его ответ идеален сам по себе. Суперпростой ответ не удался на моей машине, поэтому нужен был простой ответ. И поскольку он находится прямо здесь, я могу выполнить его, не пытаясь найти другое место, на которое вы ссылаетесь. - person Kim; 09.04.2017
comment
@ Ким, супер простой метод не удался, потому что вы используете v3? если это так, попробуйте stackoverflow.com/a/32811977/852795. - person Mark Cramer; 11.04.2017
comment
@MarkCramer Спасибо. Я только что пересмотрел это, и да, я думаю, что это не удалось, потому что я уже был в приложении Electron. Новое приложение отлично подходит для многих вещей, но и в некоторых областях оно не работает. Меня действительно беспокоит то, что в Windows теперь предлагается открыть в командной строке, а не открыть в оболочке git. Последнее всегда было невероятно полезно, а первое — определенно нет. - person Kim; 23.10.2017
comment
@MarkCramer Этот ответ все еще применим к последней версии GitHub Desktop? Если нет, добавьте ссылку или сообщение поверх своего ответа, чтобы сказать что-то вроде «Эй, этот ответ устарел, пожалуйста, посмотрите на этот другой ответ для более новой практики». - person Cœur; 07.03.2019

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

Снимок экрана GitHub для Windows v3

person Mark Cramer    schedule 27.09.2015

Идя в ногу со временем, Github для Windows претерпел огромные изменения, так что вот новый ответ. Теперь он называется Github Desktop и номера версий начинаются с версии 1.0.0. Поэтому, если вы используете Github Desktop v1, ваш пользовательский интерфейс будет выглядеть немного иначе.

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

Сначала выберите свой репозиторий в крайнем левом раскрывающемся списке в черной области. Убедитесь, что вы выбрали вкладку с надписью «Изменения». Теперь вы можете щелкнуть правой кнопкой мыши в любом месте прямоугольника, содержащего «{#} измененных файлов», и вы получите всплывающее окно с надписью «Отменить все изменения…» Щелкните его, и вуаля, вы вернулись туда, где вы в последний раз совершали коммит.

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

введите здесь описание изображения

документация теперь содержит информацию о том, как отменить изменения. Однако это неверно! Когда вы щелкаете правой кнопкой мыши по отдельному файлу, всплывающее окно не дает возможность «Отменить все изменения...», как показывает снимок экрана. Чтобы отменить все изменения, вам нужно сделать, как я описал выше.

person Mark Cramer    schedule 22.11.2017