macos - репозиторий - как удалить sourcetree




Как отказаться от незафиксированных изменений в SourceTree? (4)

Я новичок в среде Git, и я использую BitBucket с SourceTree на Mac. Все, что я хочу сделать, это отказаться от изменений с момента последнего коммита. Как мне это сделать? Я не нашел ничего подобного «отменить изменения», и прямое извлечение из последнего коммита не похоже на работу. Решения, выполненные с помощью графического интерфейса или командной строки, будут хорошими. Спасибо.


В SourceTree для Mac щелкните правой кнопкой мыши файлы, которые вы хотите отменить (в разделе « Файлы в списке рабочих деревьев» ), и выберите « Сброс» .

В SourceTree для Windows щелкните правой кнопкой мыши файлы, которые вы хотите отменить (в списке « Рабочие копии копирования» ), и выберите « Отменить» .

На git вы просто выполните:

git reset --hard чтобы отменить изменения, внесенные в файлы версий;

git clean -xdf для удаления новых (не проверенных ) файлов, включая игнорируемые (опция x ). d также удалить ненужные каталоги, а f - принудительно.


В неустановленном файле нажмите на три точки справа. Как только вы нажмете на него, появится меню popover, где вы можете Discard file .


Мне нравится использовать

git stash

Это сохраняет все незафиксированные изменения в stash . Если вы хотите отбросить эти изменения позже, просто git stash drop (или git stash pop чтобы восстановить их).

Хотя это технически не «правильный» способ отказаться от изменений (как указывали другие ответы и комментарии).


Хорошо, я только заметил, что мой вопрос уже ответил в заголовке вопроса.

Чтобы отключить использование файлов

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




atlassian-sourcetree