LINUX.ORG.RU

как в гите отменить не внесённые в индекс изменения?

 


0

1

простой случай: есть файлы. в один из них я вношу изменения. потом решаю вернуться к начальному состоянию. для решения этой задачи я использую

git checkout .
git status
всё ок, проблем нет

сложный случай: есть файлы. в один из них я вношу изменения. затем создаю ещё два новых файла. теперь хотел бы вернуться к начальному состоянию. подскажите пожалуйста как


Ответ на: комментарий от RazrFalcon
git reset --hard

Инкрементирую как решение, однако не советую использовать. Безопаснее вручную по одному удалять/ревертировать ненужное

KennyMinigun ★★★★★
()

вернуться к начальному состоянию

Не ясно, что ты имеешь ввиду. Наугад: git checkout -- <path> - заменить состояние в дереве состоянием из индекса(только для указанных путей)

Deleted
()
Ответ на: комментарий от KennyMinigun

два раза попробовал. откатывает изменения в ранее существовавших файлах, но созданные файлы не удаляются

prozaik
() автор топика
Ответ на: комментарий от surefire
git clean -d -x -f

это удаляет созданные файлы, но не откатывает сделанные изменения в ранее существовавших файлах...

prozaik
() автор топика
Ответ на: комментарий от RazrFalcon

это удаляет созданные файлы, но не откатывает сделанные изменения в ранее существовавших файлах...

а мне бы надо чтобы и файлы удалились, и изменения в ранее существовавших файлах тоже удалились

теоретически можно для этого использовать комбинацию команд

1. если файлы изменены только в рабочем каталоге и стуктура каталога НЕ менялась, то
--изменяем файл--
git checkout .
git status
или
git reset --hard

2. если файлы изменены только в рабочем каталоге и стуктура каталога менялась
git clean -d -x -f

но хотелось бы лаконичности

prozaik
() автор топика
Последнее исправление: prozaik (всего исправлений: 1)
Ответ на: комментарий от RazrFalcon

wut?! Зачем тогда vcs?

Не, я имел ввиду ревертировать с помощью vcs. Удалять (если не в под vcs) — вручную (однако безопаснее все же добавить в stage а потом удалять).

А главное — по одному, чтоб не удалить лишнего и дать время себе на «обдумать»

KennyMinigun ★★★★★
()
Ответ на: комментарий от prozaik

а мне бы надо чтобы и файлы удалились, и изменения в ранее существовавших файлах тоже удалились

тогда тебе хочется алиаса (git config alias.mystuff ...) на reset и clean.

KennyMinigun ★★★★★
()
Ответ на: комментарий от kardapoltsev

Лучше тогда закоммитить, а потом хардресетить, тогда есть вероятность все вернуть в зад через рефлох.

nikolnik ★★★
()

ГИТ ЭТО ПРОСТО!!! НАДО ВСЕГО ЛИШЬ ЗАПОМНИТЬ ТРИ КОМАНДЫ И ПРОЧИТАТЬ 800 СТРАНИЦ МАНУАЛА И ПЕРВЫЕ ДВА ГОДА ИСПОЛЬЗОВАТЬ ВМЕСТЕ С TAR.GZ И ВСЕГДА СОХРАНЯТЬ КОТАЛОГ .GIT ВСЕГДА ТАК ДЕЛАЮ 9A1F77B0 DETACHED HEAD WHILE DETACHING HEAD ЭТО ЖЭ ОЧЕВИДНО GIT-RESET GIT-MOLEST GIT-OVERCOME-INDEX --PROPOSE-EXTENDED-PATH --SURRENDER-ARCHIVE=MIXED — ^^^^^^^^^^^^HEAD{666} GIT-BACKUP-GIT-DIRECTORY --TAR-GZ ЭТО ЖЭ ОЧЕВИДНО ГИТГИТГИТГИТ БОГ/ЛИНУС 10X ГИТГИТГИТГИТГИТГИТГИТГИТ

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.