Я пытаюсь отменить все изменения с момента моего последнего коммита. Я пробовал git reset --hard
и git reset --hard HEAD
после просмотра этого поста . Я отвечаю с головой сейчас на 18c3773 ... но когда я смотрю на мой локальный источник все файлы все еще там. Что мне не хватает?
git
command-line
undo
git-reset
Антарр Берд
источник
источник
Ответы:
Это приведет к удалению всех файлов, с которыми вы могли подготовить
git add
:Это вернет все локальные незафиксированные изменения (должны быть выполнены в корне репо):
Вы также можете отменить незафиксированные изменения только для определенного файла или каталога:
Еще один способ отменить все незафиксированные изменения (дольше печатать, но работает из любого подкаталога):
Это удалит все локальные неотслеживаемые файлы, поэтому остаются только файлы, отслеженные git:
Подводя итог: выполнение приведенных ниже команд в основном эквивалентно свежему
git clone
из оригинального источника (но это ничего не перезагружает, поэтому намного быстрее):Обычно это используется в сценариях сборки, когда вы должны убедиться, что ваше дерево абсолютно чистое - не имеет каких-либо модификаций, локально созданных объектных файлов или артефактов сборки, и вы хотите, чтобы оно работало очень быстро и не повторялось. клонировать весь репозиторий каждый раз.
источник
git clean
, это отменит незафиксированные изменения, но сохранит все неотслеживаемые или добавленные файлы. Но это может повлиять на результат сборки, поскольку некоторые неотслеживаемые файлы могут создавать помехи. Например, что если ваш каталог .idea поврежден?git reset
говорит мне, что у меня есть изменения, которые нужно сохранитьgit clean -fdx
удалил мойnode_modules
и.env
, отличноЕсли вы хотите « отменить » все незафиксированные изменения, просто запустите:
Если у вас есть неотслеживаемые файлы (проверьте, запустив
git status
), их можно удалить, запустив:git stash
создает новый тайник, который станет тайником @ {0} . Если вы хотите проверить сначала, вы можете запустить,git stash list
чтобы увидеть список ваших тайников. Это будет выглядеть примерно так:Каждый тайник назван в честь предыдущего сообщения коммита.
источник
git add .
раньше,git stash
потому что оно показывало мне незафиксированные изменения даже послеgit stash
также есть
git stash
- который «прячет» ваши локальные изменения и может быть применен позже или отменен, если больше не требуетсябольше информации о тайнике
источник
Я использую дерево исходников .... Вы можете отменить все незафиксированные изменения, выполнив 2 простых шага:
1) просто нужно сбросить статус файла рабочей области
2) выберите все нестандартные файлы (команда + a), щелкните правой кнопкой мыши и выберите удалить
Это так просто: D
источник
Что я делаю
Один лайнер:
git add . && git stash && git stash drop
источник
Для тех, кто достиг здесь поиска, если они могли отменить
git clean -f -d
, с помощью которого был создан файл, созданный в Eclipse ,Вы можете сделать то же самое из пользовательского интерфейса, используя «восстановление из локальной истории» для ссылки: Восстановление из локальной истории
источник
Государства, переходящие с одного коммита на новый коммит
Действие для перехода состояния
Проверьте разницу
Возврат к последнему коммиту
Эквивалент git clone, без повторной загрузки
источник