Есть ли способ отменить изменения в GitHub Desktop после того, как кнопка "Отменить" исчезла?
Я говорю о функции отмены GitHub Desktop, а не о git в целом.
Есть ли способ отменить изменения в GitHub Desktop после того, как кнопка "Отменить" исчезла?
Я говорю о функции отмены GitHub Desktop, а не о git в целом.
Отправился по электронной почте в службу поддержки Github и сказал, что после того, как этот параметр исчезнет, нет другого способа отменить изменение. Они могут реализовать эту функцию в будущем.
Начиная с 5/8/18, и если вы используете последнюю версию github desktop или github desktop beta, незафиксированные отклоненные изменения теперь копируются как новые файлы и помещаются в корзину для мусора/утилизации.
Вот как выглядит текущее приглашение:
Меню рабочего стола GitHub → Репозиторий / Восстановить отмененные изменения
Вы можете найти эти удаленные файлы в корзине.
Вам необходимо восстановить эти файлы из git repo
git fsck --unreachable --no-reflogs --no-cache HEAD
Или проверьте это: восстановление потерянных коммитов
Попробовав множество способов отменить отклоненные изменения, я наконец нашел вариант отмены в Sublime Merge.
Меню репозитория → Отменить: сброс
Это вернуло мне все изменения, отмененные Github Desktop, и спасло мне жизнь.
Отклоненное изменение отправляется в корзину как новый файл с некоторым изменением исходного имени файла. Вы можете скопировать и вставить файл в корзину в исходный файл.
Например: я отменил изменение в package.json
, и результирующий файл в корзине был назван package 16-36-10-974.json
. Этот файл содержал исходное содержимое файла, прежде чем я его удалил. Я скопировал содержимое из package 16-36-10-974.json
в package.json
, и то, как я получил отклоненные изменения обратно.
(не уверен, откуда берутся цифры в имени файла)
У меня была эта проблема, мои файлы были размещены на локальном сервере и по какой-то причине не перемещали файлы в корзину, как указано. К счастью, сервер был заархивирован, и я смог восстановить файлы таким образом.
Недавно я столкнулся с этой проблемой.
После поиска через git log
в терминале я могу подтвердить, что моя последняя фиксация исчезла. Просто ушел. Наряду с изменением кода. Если вы не синхронизировали его с удаленным сервером, это ушло в прошлое.
Теперь я больше никогда не буду использовать Git Desktop.
Есть много способов сделать это, которые также не описаны здесь.
checkout / revert /reflog / reset
Прочтите все это здесь: Как переместить HEAD обратно в предыдущее место? (Отдельная головка)
git filter-branch
Эта команда изменяет вашу историю и позволяет также удалять фиксации.
git rebase / git rebase -i HEAD~x
Здесь вы можете выкачать несколько коммитов в новую фиксацию
На рабочем столе Github ваши файлы игнорируются в .gitignore. Вы найдете .gitignore и удалите из него свои файлы или используйте команду git добавить имя файла -f для каждого файла.