Подтвердить что ты не робот

Может ли git отменить проверку неустановленных файлов

Я случайно отменил свои изменения в файлах на своем локальном рабочем дереве с помощью git checkout. В настоящее время файлы не выполняются. Можно ли "отменить" этот заказ?

4b9b3361

Ответ 1

Я считаю, что если файл изменен, но еще не добавлен (поставлен), это чисто "private".
Это означает, что он не может быть восстановлен с помощью GIT, если он перезаписан индексом или версией HEAD (если у вас нет копии вашей текущей работы где-нибудь).

A "private" контент является только видимым в вашем текущем каталоге, но никак не зарегистрированным в Git.

Ответ 2

Если вы используете "профессиональную" среду IDE, вы можете восстановить файлы из локальной истории. В Rubymine, например, вы можете щелкнуть правой кнопкой мыши и посмотреть историю изменений, не зависящую от изменений git, которые я сохранил несколько раз сейчас ^^

Ответ 3

Если вы работаете в редакторе, таком как Sublime Text, и файл все еще открыт, вы можете нажать ctrl + z, и он вернется к состоянию, которое было перед git checkout.

Ответ 4

К сожалению, ваши изменения потеряны. Ваши личные изменения просто перезаписываются. Если вы не сделали git stash перед оформлением заказа...

Возьмите его с более яркой стороны: теперь вы можете лучше реализовать вещи;)

Ответ 5

Проверьте локальную историю в своей среде IDE.

Ответ 6

Разработка на OS X? Используя XCode? Вам скорее всего повезет!

Как описано в комментарии qungu, OS X поддерживает автоматически сохраненную историю версий файлов, даже если вы не используете машину времени.

Так что, если вы сдули свои неустановленные локальные изменения с помощью небрежного git checkout. Вот как вы можете восстановить всю свою работу.

Если кто-то обнаружит, что этот поток уничтожил какую-то работу в XCode, есть способ получить историю автосохранения. Сам XCode не имеет пункта меню для просмотра истории автосохранения, но он сохраняет его. Если вы откроете файлы в TextEdit, вы можете вернуться и просмотреть историю автосохранения в меню "Файл"> "Восстановить".

Который потрясающий, и выздоровел около дня работы для меня вчера.


Вы можете спросить: "Почему пользовательский интерфейс командной строки git не является лучшей VCS, используемой для разработки программного обеспечения в 2016 2017 2018, по крайней мере, сделайте резервную копию файлов, прежде чем просто выбросить их? Как, вы знаете, хорошо написанные программные инструменты в течение последних трех десятилетий ".

Или, возможно, вы спросите: "Почему эта безумно потрясающая функция истории файлов доступна в TextEdit, а не в Xcode, где она мне действительно нужна?"

… И оба они, я думаю, расскажут вам довольно много о нашей отрасли. Или, может быть, вы пойдете и почините эти инструменты. Что было бы здорово.

Ответ 8

Эффективным спасителем для такого рода ситуаций является Time Machine (OS X) или аналогичная система резервного копирования по времени. Это спасло меня пару раз, потому что я могу вернуться и восстановить только один файл.

Ответ 9

Обычно я работаю в папке с Dropbox. Это гарантирует, что я буду иметь текущую папку, доступную вне моей локальной машины и Github. Я думаю, что это мой другой шаг, чтобы гарантировать "контроль версий", отличный от git. Вы можете следовать этому, чтобы вернуть файл в предыдущие версии ваших файлов Dropbox

Надеюсь, это поможет.

Ответ 10

Технически да. Но только в некоторых случаях. Если, например, у вас есть кодовая страница вверх и вы нажмете git checkout, и вы поймете, что вы случайно проверили неправильную страницу или что-то в этом роде. Перейдите на страницу и нажмите "Отменить". (для меня, команда + z), и он вернется к тому, где вы были, прежде чем вы ударите старый добрый git checkout.

Это не будет работать, если ваша страница была закрыта, а затем вы нажмете git checkout. Он работает только в том случае, если фактическая кодовая страница открыта.

Ответ 11

Если вы работаете с открытым терминалом /cmd-запросом и используете любые команды git, которые бы показывали неизмененные изменения (diff, add -p, checkout -p и т.д.), И не закрыли приглашение терминала /cmd с тех пор вы обнаружите, что не поэтапные изменения все еще доступны, если прокрутить до места, где вы выполняли эти вышеупомянутые команды git.

Ответ 12

Согласно ответам выше - вы действительно не можете вернуть свои изменения с помощью git, но каждый разработчик использует некоторую IDE (VSCODE, Sublime и т.д.), Так что просто зайдите туда и выполните command + z (или что такое команда отмены на вашем Mac OS), или ctrl + z - должно быть на окнах

Ответ 13

Возможно, ваши изменения не потеряны. Проверьте "git reflog"

Я цитирую статью ниже:

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

Подробнее:

http://gitready.com/intermediate/2009/02/09/reflog-your-safety-net.html