Я новичок в среде Git, и я использую BitBucket с SourceTree на Mac. Все, что я хочу сделать, это отказаться от изменений с момента последнего коммита. Как мне это сделать? Я не нашел ничего подобного "отменить изменения", и прямое извлечение из последнего коммита не похоже на работу. Решения, выполненные с помощью графического интерфейса или командной строки, будут хорошими. Спасибо.
Как отказаться от незафиксированных изменений в SourceTree?
Ответ 1
Мне нравится использовать
git stash
Здесь хранятся все незафиксированные изменения в stashе. Если вы хотите отменить эти изменения позже, просто git stash drop
(или git stash pop
, чтобы восстановить их).
Хотя технически это не "правильный" способ отменить изменения (как отмечали другие ответы и комментарии).
SourceTree: в верхней панели щелкните значок "Stash", введите его имя и создайте. Затем в левом вертикальном меню вы можете "показать" все Stash и удалить в контекстном меню. Вероятно, в ST нет другого способа отменить все файлы одновременно.
Ответ 2
В SourceTree для Mac щелкните правой кнопкой мыши файлы, которые вы хотите отменить (в разделе "Файлы в списке рабочих деревьев" ) и выберите Reset.
В SourceTree для Windows щелкните правой кнопкой мыши файлы, которые вы хотите отменить (в списке "Рабочие копии копирования" ), и выберите Отменить.
В git вы просто выполните:
git reset --hard
, чтобы отменить изменения, внесенные в файлы версий;
git clean -xdf
, чтобы стереть новые (не проверенные) файлы, включая проигнорированные (опция x
). d
должен также удалить невосстановленные каталоги и f
, чтобы заставить.
Ответ 3
В неустановленном файле нажмите на три точки справа. После того, как вы нажмете его, появится меню popover, где вы сможете Discard file
.
Ответ 4
Хорошо, я только заметил, что мой вопрос уже ответил в заголовке вопроса.
Чтобы отключить файлы, используйте
git reset HEAD /file/name
И отменить изменения в файле
git checkout -- /file/name
Если у вас есть пакет файлов внутри папки, вы можете отменить всю папку
git checkout -- /folder/name
Обратите внимание, что все эти команды уже отображаются, когда вы git status
Здесь я создал фиктивное репо и перечислял все 3 возможности
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# modified: test
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be committed)
# (use "git checkout -- <file>..." to discard changes in working directory)
#
# modified: test2
#
# Untracked files:
# (use "git add <file>..." to include in what will be committed)
#
# test3
Ответ 5
Из sourcetree gui щелкните по рабочей команде, щелкните правой кнопкой мыши файл (ы), который вы хотите удалить, затем нажмите "Отменить"