Как удалить локальные (неотслеживаемые) файлы из текущего рабочего дерева Git

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

14.09.2008 09:06:10
На этом интерактивном шпаргалке git ndpsoftware.com/git-cheatsheet.html показано рабочее пространство git (Google дает вам лучшие результаты с «рабочим пространством», чем с «рабочей копией»).
qneill 1.02.2013 15:43:02
Примечание: если вы хотите удалить только некоторые неотслеживаемые файлы, но не все , git cleanтеперь есть интерактивный режим! Смотрите мой ответ на этот другой вопрос : git 1.8.4+
VonC 23.07.2013 06:00:10
Обратите внимание, что вы не удаляете файлы из ветки git, так как ветка является ссылкой на коммит и поэтому не содержит неотслеживаемых файлов. Они присутствуют только в рабочем каталоге и не имеют ничего общего с ветками. Это, вероятно, просто уточнение терминологии.
Pavel Šimerda 14.09.2014 22:28:05
Чтобы уяснить понимание непосвященных и новичков в Git - запустите git status и если он показывает файл как неотслеживаемый, и вы не хотите, чтобы этот файл находился в репо, вы можете просто зайти в свою файловую систему и удалить или переместить ее , Это не принесет ничего плохого вашему локальному репо или Git. Вы также можете использовать git cleanили некоторые варианты ответов ниже, в том числе интерактивную версию, чтобы удалить только отдельные файлы, но интерактивный режим может быть утомительным. Что бы вы ни делали, убедитесь, что вы понимаете, что git cleanбудет удалять или использовать, --dry-runчтобы оно сообщало вам, не удаляя ничего.
LightCC 2.09.2017 06:15:43
Если файлы еще не отслеживаются, не могли бы вы просто удалить их без мерзавца? rm files-to-be-deleted
mhatch 14.03.2018 20:48:23
30 ОТВЕТОВ
РЕШЕНИЕ

git-clean - удаляет неотслеживаемые файлы из рабочего дерева

конспект

git clean [-d] [-f] [-i] [-n] [-q] [-e <pattern>] [-x | -X] [--] <path>…​

Описание

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

Обычно удаляются только файлы, неизвестные Git, но если -xуказан этот параметр, игнорируемые файлы также удаляются. Это может быть полезно, например, для удаления всех продуктов сборки.

Если <path>...даны какие-либо необязательные аргументы, затрагиваются только эти пути.


Шаг 1, чтобы показать, что будет удалено с помощью -nопции:

# Print out the list of files which will be removed (dry run)
git clean -n

Clean Step - будьте осторожны: это удалит файлы :

# Delete the files from the repository
git clean -f
  • Чтобы удалить каталоги, запустите git clean -f -dилиgit clean -fd
  • Чтобы удалить проигнорированные файлы, запустите git clean -f -Xилиgit clean -fX
  • Чтобы удалить проигнорированные и не проигнорированные файлы, запустите git clean -f -xилиgit clean -fx

Обратите внимание на разницу в регистре Xдвух последних команд.

Если clean.requireForceв вашей конфигурации установлено значение «истина» (по умолчанию), нужно указать, -fиначе на самом деле ничего не произойдет.

Снова смотрите git-cleanдокументы для получения дополнительной информации.


Опции

-f, --force

Если для переменной конфигурации Git clean.requireForce не задано значение false, git clean откажется запускаться, если не указано -f, -nили -i.

-x

Не используйте стандартные правила игнорирования, считанные из .gitignore (для каждого каталога) и $GIT_DIR/info/exclude, но все же используйте правила игнорирования, заданные с -eпараметрами. Это позволяет удалить все неотслеживаемые файлы, включая продукты сборки. Это может быть использовано (возможно, в сочетании с git reset) для создания первичного рабочего каталога для тестирования чистой сборки.

-X

Удалите только файлы, игнорируемые Git. Это может быть полезно для восстановления всего с нуля, но сохраняйте созданные вручную файлы.

-n, --dry-run

На самом деле ничего не удаляйте, просто покажите, что будет сделано.

-d

Удалите неотслеживаемые каталоги в дополнение к неотслеживаемым файлам. Если неотслеживаемый каталог управляется другим Git-репозиторием, по умолчанию он не удаляется. Используйте -fопцию дважды, если вы действительно хотите удалить такой каталог.

8668
5.02.2020 21:12:08
git clean -fработает только в каталоге, где он называется (и подкаталогах). Если вы хотите очистить всю рабочую копию, вам следует вызвать ее в корневой каталог.
Eduardo Bezerra 8.03.2013 10:51:18
Он также удаляет все файлы внутри .gitignore. Мне нужно удалить только файлы / папки, которые являются новыми и не в .gitignore
Kostanos 5.08.2013 23:02:34
@Kostanos Если вы не хотите удалять файлы из .gitignore, не указывайте флаг -x.
Lo-Tan 23.08.2013 18:44:35
git clean -f :/работает так, как будто вы запустили его в корневом каталоге репо. См. Также более поздние ответы, также учитывающие подмодули сgit clean -ffxd :/
here 16.10.2014 20:38:11
@Michelle git clean -xfd также удалит все файлы, которые в настоящее время игнорируются в вашем .gitignore, и они не подлежат восстановлению
thedanotto 20.11.2015 05:36:00

git-clean - это то, что вы ищете. Используется для удаления неотслеживаемых файлов из рабочего дерева.

90
29.10.2013 05:36:21

Используйте, git clean -f -dчтобы убедиться, что каталоги также удалены.

-n, -dry-run

На самом деле ничего не удаляйте, просто покажите, что будет сделано.

-d

Удалите неотслеживаемые каталоги в дополнение к неотслеживаемым файлам. Если неотслеживаемый каталог управляется другим Git-репозиторием, по умолчанию он не удаляется. Используйте параметр -f дважды, если вы действительно хотите удалить такой каталог.

Затем вы можете проверить, действительно ли ушли ваши файлы git status.

972
28.07.2019 13:47:54
Как уже говорилось, хорошо провести git clean -n -d
Ms01 9.12.2013 10:54:56
То же самое делать git clean -ndи git clean -fd.
Micer 10.07.2017 09:13:53

Если неотслеживаемый каталог является собственным репозиторием git (например, подмодулем), вам нужно использовать -fдважды:

git clean -d -f -f

247
25.01.2013 12:24:01
Кстати, это написано в документации : Git откажется удалять каталоги с подкаталогом или файлом .git, если не указан второй -f. Но все равно спасибо!
Maxim Suslov 24.07.2015 09:03:05

Если необходимо удалить неотслеживаемые файлы из определенного подкаталога,

git clean -f {dir_path}

И комбинированный способ удаления неотслеживаемых dir / files и игнорируемых файлов.

git clean -fxd {dir_path}

после этого вы будете изменять файлы только в git status.

86
24.09.2013 06:28:30

Это то, что я всегда использую:

git clean -fdx

Для очень большого проекта вы можете запустить его пару раз.

120
9.03.2015 20:47:41
@Martin Один из проектов, над которым я работаю, +8 лет с +80 разработчиками, активно кодирующими. Git иногда не может очистить его при первом проходе.
Oscar Fraxedas 29.02.2016 13:10:37
Я могу подтвердить это, так что это все еще действует в 2020 году. Мы также работаем над большим проектом, и мне пришлось запускать его 4-5 раз, пока GIT не нашел больше файлов для удаления.
turbolocust 17.04.2020 06:37:20

Я удивлен, что никто не упомянул об этом раньше:

git clean -i

Это означает интерактивный, и вы получите быстрый обзор того, что будет удалено, предлагая вам возможность включить / исключить затронутые файлы. В целом, все еще быстрее, чем запуск обязательной --dry-runперед реальной уборкой.

Вам нужно будет добавить, -dесли вы также хотите позаботиться о пустых папках. В конце концов, это дает хороший псевдоним:

git iclean

Это сказанное, дополнительное удерживание руки интерактивных команд может быть утомительным для опытных пользователей. В эти дни я просто пользуюсь уже упомянутымgit clean -fd

472
25.02.2016 07:40:49
@ pal4life Он был добавлен в 1.8.4, возможно, вы используете старую версию git? github.com/git/git/blob/master/Documentation/RelNotes/1.8.4.txt
Mattias Backman 30.09.2014 12:37:52
Мне нравится это - мне удобнее иметь его в моей истории bash, чем любой другой вариант, потому что нет ничего страшного, если я случайно нажму ctrl-r или ctrl-p.
csvoss 21.10.2019 22:38:30

Мне нравится, git stash push -uпотому что вы можете отменить их все git stash pop.

РЕДАКТИРОВАТЬ: Также я нашел способ показать неотслеживаемый файл в тайнике (например git show stash@{0}^3) https://stackoverflow.com/a/12681856/338986

EDIT2: git stash saveустарела в пользу push. Спасибо @ script-волк.

139
25.10.2018 00:03:55
Можете ли вы объяснить -u на тайнике? Я не понимаю, как это работает иначе, чем git stash save. Я попробовал это, и это сработало. Посмотрел на git docs и тоже не смог там его найти.
Winnemucca 17.10.2016 20:52:27
-uэквивалентно --include-untracked. Вы можете найти помощь с git help stash.
hiroshi 18.10.2016 08:55:14
@hiroshi Спасибо! попробовав каждое чертово решение от дюжины разных людей, это то, что наконец-то сработало ... вот так! Даже гадкий сундук делал нада. Сохранить - вы позаботились о неотслеживаемых. сброс жесткого / чистого усилия / и т.д., ничего из этого не сделало для меня ничего.
killjoy 15.02.2017 16:26:12
saveВариант осуждался в пользу push, которая делает то же самое , но больше. Вы можете прочитать больше здесь, https://stackoverflow.com/questions/44680028/whats-the-difference-between-git-stash-save-and-git-stash-push/44681952
Script Wolf 24.10.2018 15:51:07

git clean -fd удаляет каталог

git clean -fX удаляет проигнорированные файлы

git clean -fx удаляет проигнорированные и не проигнорированные файлы

могут быть использованы все вышеперечисленные варианты в комбинации как

git clean -fdXx

проверьте руководство git для получения дополнительной помощи

57
28.03.2016 07:56:26
Команда git clean -fdXxвыдает сообщение об ошибке «fatal: -x и -X нельзя использовать вместе» (с использованием git-2.8). Для вашего последнего предложения в вашем ответе, пожалуйста, предоставьте ссылку на руководство git. Приветствия
olibre 4.07.2016 16:23:19
выполните две команды по порядку: git clean -fdX, git clean -fdx
Clock ZHONG 17.12.2018 05:19:24

Лучше всего использовать git clean

git clean -d -x -f

Это удаляет неотслеживаемые файлы, включая каталоги (-d)и файлы, которые игнорируются git (-x).

Кроме того, замените -fаргумент, -nчтобы выполнить интерактивный режим dry-runили -iдля интерактивного режима, и он скажет вам, что будет удалено.

37
22.04.2015 10:48:36

git clean -f -d -x $(git rev-parse --show-cdup)применяется clean к корневому каталогу, независимо от того, где вы вызываете его в дереве каталога репозитория. Я использую его все время, так как он не заставляет вас покидать папку, в которой вы сейчас работаете, и позволяет чистить и фиксировать прямо из того места, где вы находитесь.

Убедитесь , что флаги -f, -d, -xсоответствовать вашим потребностям:

-d
       Remove untracked directories in addition to untracked files. If an
       untracked directory is managed by a different Git repository, it is
       not removed by default. Use -f option twice if you really want to
       remove such a directory.

-f, --force
       If the Git configuration variable clean.requireForce is not set to
       false, git clean will refuse to delete files or directories unless
       given -f, -n or -i. Git will refuse to delete directories with .git
       sub directory or file unless a second -f is given. This affects
       also git submodules where the storage area of the removed submodule
       under .git/modules/ is not removed until -f is given twice.

-x
       Don't use the standard ignore rules read from .gitignore (per
       directory) and $GIT_DIR/info/exclude, but do still use the ignore
       rules given with -e options. This allows removing all untracked
       files, including build products. This can be used (possibly in
       conjunction with git reset) to create a pristine working directory
       to test a clean build.

Есть и другие доступные флаги, просто проверьте git clean --help.

19
2.12.2015 17:57:44
Кстати, вы можете просто сделать git clean {flags}: / так будет, как если бы вы запустили команду в корне
The-null-Pointer- 24.06.2017 19:07:14

Чтобы узнать, что будет удалено перед фактическим удалением:

git clean -d -n

Это выведет что-то вроде:

Удалил sample.txt

Чтобы удалить все, что перечислено в выводе предыдущей команды:

git clean -d -f

Это выведет что-то вроде:

Удаление файла sample.txt

13
16.02.2016 08:42:09

Lifehack для такой ситуации, которую я только что изобрел и попробовал (это прекрасно работает):

git add .
git reset --hard HEAD

Осторожно! Обязательно передайте все необходимые изменения (даже в неотслеживаемых файлах) перед выполнением этого .

19
21.02.2016 17:36:03
По крайней мере, это другой подход. :) Другой способ, который запомнил бы удаленные файлы в reflog, но не в каких-либо ветках, был бы:git add . git commit -m 'about to delete' git reset --hard HEAD~
joeytwiddle 1.03.2016 06:10:30
еще более быстрый способgit add . && git reset --hard HEAD
thybzi 29.04.2016 18:25:05
git add . && git reset --hard
Pleymor 19.07.2016 11:35:46
Это может быть не то, что вы хотите, если есть изменения, которые вы хотите зафиксировать.
lacostenycoder 10.02.2017 20:00:06
@AlexanderMills git reset --hardсбрасывает все незафиксированные изменения, НО НЕ ОБНАРУЖЕННЫЕ ФАЙЛЫ до состояния последнего коммита. Вот почему нам сначала нужно git add .- чтобы все неотслеживаемые файлы были подготовлены (чтобы они тоже сбрасывались)
thybzi 30.08.2017 11:54:22

Если вы просто хотите удалить файлы, перечисленные как неотслеживаемые «git status»

git stash save -u
git stash drop "stash@{0}"

Я предпочитаю это «git clean», потому что «git clean» удалит файлы, игнорируемые git, поэтому ваша следующая сборка должна будет перестроить все, и вы также можете потерять настройки IDE.

15
2.03.2016 02:09:47
Это также удалит действительные изменения в отслеживаемых файлах. Я бы не рекомендовал это.
code_dredd 4.04.2016 17:06:21
Да, вы хотите сначала внести изменения в отслеживаемые файлы.
jazzdev 5.04.2016 00:01:29

Простой способ удалить неотслеживаемые файлы

Чтобы удалить все неотслеживаемые файлы, простой способ - сначала добавить их все и сбросить репозиторий, как показано ниже.

git add --all
git reset --hard HEAD

241
28.01.2019 15:59:18
Вы можете заменить git add --allна git add .. Таким образом, вы можете сделать это более коротким способом в режиме oneline git add . && git reset --hard HEAD (будьте очень осторожны с этой командой) .
RousseauAlexandre 30.03.2017 13:35:10
Зачем использовать это снова git clean?
user2864740 30.06.2017 21:59:25
Потому что, git cleanвидимо, также удаляет все, что игнорируется. Он просто удалил мою node_modulesпапку. Выполнение этого сначала отредактирует все файлы, кроме игнорируемых, а затем удалит их, выполнив сброс. Проигнорированные файлы не будут затронуты.
Andreas 19.09.2017 07:54:18
@ Андреас не удаляет игнорируемые файлы для меня (git 2.14.1). Вы должны запустить вgit clean -n любом случае, прежде чем делать реальное удаление (или использовать git clean -i).
Qw3ry 26.09.2017 11:12:11
git cleanудаляет проигнорированные файлы, только если вы используете либо опцию, -xлибо -X, иначе он просто удаляет неотслеживаемые файлы.
doubleDown 26.09.2017 20:17:16

У меня работали только следующие:

git clean -ffdx

Во всех остальных случаях я получал сообщение «Пропуск каталога» для некоторых подкаталогов.

19
16.08.2016 15:29:20
Спасибо. Я пропустил -xи просто использовал, git clean -ffdчтобы избежать стирания файлов в .gitignore.
Feckmore 25.01.2017 17:46:47

Обычная git cleanкоманда не удаляет неотслеживаемые файлы с моей git version 2.9.0.windows.1.

$ git clean -fdx     # doesn't remove untracked files
$ git clean -fdx *   # Append star then it works!
8
11.10.2016 00:14:30

Чтобы удалить неотслеживаемые файлы, вы должны сначала использовать команду для просмотра файлов, которые будут затронуты очисткой

git clean -fdn

Это покажет вам список файлов, которые будут удалены. Теперь, чтобы фактически удалить эти файлы, используйте эту команду:

git clean -fd
11
25.10.2016 09:09:27

Примечание. Сначала перейдите в каталог и выберите ветку, которую хотите очистить.

-i интерактивный режим, и он скажет вам, что будет удалено, и вы можете выбрать действие из списка.

  1. Очистить только файлы [Папки не будут перечислены и не будут очищены]: $ git clean -i

  2. Для очистки файлов и папок : $ git clean -d -i

-d включая каталоги.


Если вы выбираете cиз списка. Файлы / папки будут удалены без отслеживания, а также будут удалены файлы / папки, которые вы испортили. *

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

2
16.12.2016 15:15:01

Удалите все лишние папки и файлы в этом репо + подмодули

Это приводит вас в то же состояние, что и свежий клон.

git clean -ffdx

Удалите все дополнительные папки и файлы в этом репо, но не его подмодули

git clean -fdx

Удалите лишние папки, но не файлы (например, папку build или logs)

git clean -fd

Удалить лишние папки + пропущенные файлы (но не новые добавленные файлы)

Если файл не был проигнорирован и еще не зарегистрирован, он остается. Обратите внимание на заглавную X.

git clean -fdX

Новый интерактивный режим

git clean
67
18.11.2019 00:00:25

git clean -f to remove untracked files from working directory.

Здесь я рассмотрел некоторые основы в своем блоге, git-intro-basic-команды

9
25.07.2017 07:06:31

Пользовательский интерактивный подход:

git clean -i -fd

Remove .classpath [y/N]? N
Remove .gitignore [y/N]? N
Remove .project [y/N]? N
Remove .settings/ [y/N]? N
Remove src/com/arsdumpgenerator/inspector/ [y/N]? y
Remove src/com/arsdumpgenerator/manifest/ [y/N]? y
Remove src/com/arsdumpgenerator/s3/ [y/N]? y
Remove tst/com/arsdumpgenerator/manifest/ [y/N]? y
Remove tst/com/arsdumpgenerator/s3/ [y/N]? y

-i для интерактивной
-f для принудительной
-d для директории
-x для игнорируемых файлов (добавьте, если требуется)

Примечание: Добавьте -n или --dry-run, чтобы просто проверить, что он будет делать.

25
7.07.2017 04:35:57

ОК, удалить ненужные неотслеживаемые файлы и папки легко gitв командной строке, просто сделайте это так:

git clean -fd

Дважды проверьте, прежде чем делать это, поскольку он будет удалять файлы и папки, не делая истории ...

Также в этом случае -fозначает силу и -dозначает каталог ...

Итак, если вы хотите удалить только файлы, вы можете использовать -fтолько:

git clean -f

Если вы хотите удалить (каталоги) и файлы, вы можете удалить только неотслеживаемые каталоги и файлы, например:

git clean -fd

Также вы можете использовать -xфлаг для включения файлов, которые игнорируются git. Это было бы полезно, если вы хотите удалить все.

А добавление -iфлага заставляет git запрашивать разрешение на удаление файлов один за другим на ходу.

Если вы не уверены и хотите сначала проверить, добавьте -nфлаг.

Используйте, -qесли вы не хотите видеть какой-либо отчет после успешного удаления.

Я также создаю изображение ниже, чтобы сделать его более запоминающимся, особенно я видел, как многие люди -fиногда путают в очистке папки или как-то перепутывают!


удаление ненужных неотслеживаемых файлов и папок

52
17.11.2019 11:51:40
Что с этим изображением?
Pacerier 30.01.2020 15:27:02

использовать git reset HEAD <file>для удаления файла

0
8.08.2017 02:02:34
Как это удаленно полезно? Он не удаляет файлы и ничего не делает с файлом, который не был зарегистрирован в хранилище.
lacostenycoder 30.06.2019 15:43:05

Команда для удаления неотслеживаемых файлов из git docs - это git clean

git clean - удаляет неотслеживаемые файлы из рабочего дерева

Предложенный метод: Интерактивный режим с использованием, git clean -i чтобы мы могли контролировать его. давайте посмотрим оставшиеся доступные варианты.

Доступные Варианты:

git clean 
    -d -f -i -n -q -e -x -X (can use either)

Объяснение:

1. -d

Удалите неотслеживаемые каталоги в дополнение к неотслеживаемым файлам. Если неотслеживаемый каталог управляется другим Git-репозиторием, по умолчанию он не удаляется. Используйте параметр -f дважды, если вы действительно хотите удалить такой каталог.

2. -f, --force

Если для переменной конфигурации Git clean.requireForce не задано значение false, git clean откажется запускаться, если не указано -f, -n или -i.

3. -i, - интерактивный

Покажите, что будет сделано, и очистите файлы в интерактивном режиме. Подробнее см. «Интерактивный режим».

4. -n, --dry-run

На самом деле ничего не удаляйте, просто покажите, что будет сделано.

5. -q, --quiet

Будьте спокойны, сообщайте только об ошибках, но не о файлах, которые были успешно удалены.

6. -e, --exclude =

В дополнение к тем, которые находятся в .gitignore (для каждого каталога) и в $ GIT_DIR / info / exclude, также следует учитывать, что эти шаблоны входят в набор действующих правил игнорирования.

7.-х

Не используйте стандартные правила игнорирования, считанные из .gitignore (для каждого каталога) и $ GIT_DIR / info / exclude, но все же используйте правила игнорирования, заданные с опциями -e. Это позволяет удалить все неотслеживаемые файлы, включая продукты сборки. Это может быть использовано (возможно, в сочетании с git reset) для создания первичного рабочего каталога для тестирования чистой сборки.

8. -X

Удалите только файлы, игнорируемые Git. Это может быть полезно для восстановления всего с нуля, но сохраняйте созданные вручную файлы.

9
1.09.2017 06:23:29
Я думаю, что у вас есть опечатка, uggestedно это просто " uggestionLOL
lacostenycoder 30.06.2019 15:44:14

Очистить git-репозиторий и все подмодули рекурсивно

Следующая команда рекурсивно очистит текущий репозиторий git и все его подмодули:

(git clean -d -x -f && git submodule foreach --recursive git clean -d -x -f)
7
19.04.2018 06:46:00
Конечно, это следует использовать с большой осторожностью
lacostenycoder 30.06.2019 15:45:06

Будьте внимательны при выполнении команды `git clean`.

Всегда используйте -n перед запуском фактической команды, поскольку она покажет вам, какие файлы будут удалены.

git clean -n -d 
git clean -f -d

По умолчанию git cleanбудут удаляться только неотслеживаемые файлы, которые не игнорируются. Любой файл, который соответствует шаблону в вашем .gitignore или других игнорируемых файлах, не будет удален. Если вы тоже хотите удалить эти файлы, вы можете добавить -xкоманду к чистой команде.

git clean -f -d -x

Существует также интерактивный режим, доступный -iс командой clean

git clean -x -i

альтернативно

Если вы не уверены на 100%, что удаление вашей незафиксированной работы безопасно, вы можете вместо этого использовать копирование

git stash --all

Это также очистит ваш каталог, но даст вам возможность извлекать файлы в любой момент времени, используя stash с apply или pop . Затем на более позднем этапе вы можете очистить свой тайник, используя:

git stash drop // or clean
11
23.10.2017 21:26:40
тайник это хорошая идея, однако вы можете использоватьgit stash save and type some comment as to what this stash was for
lacostenycoder 30.06.2019 15:46:52

oh-my-zsh с zsh предоставляет эти отличные псевдонимы через плагин git. Их также можно использовать в bash.

gclean='git clean -fd'
gpristine='git reset --hard && git clean -dfx'

  • gclean удаляет неотслеживаемые каталоги в дополнение к неотслеживаемым файлам .
  • gpristineвыполнить жесткий сброс локальных изменений, удалить неотслеживаемые каталоги, неотслеживаемые файлы и не использовать стандартные правила игнорирования, считанные из .gitignore (для каждого каталога) и $ GIT_DIR / info / exclude, но все же использовать правила игнорирования, заданные с опциями -e. Это позволяет удалить все неотслеживаемые файлы, включая продукты сборки. Это может быть использовано (возможно, в сочетании с git reset) для создания первичного рабочего каталога для тестирования чистой сборки .
5
31.05.2018 23:34:14
Спасибо за ваш отзыв, мое заявление сбило с толку. Я хотел сказать, что выделенные псевдонимы приходят автоматически с oh-my-zsh. Они, очевидно, прекрасно работают в bash. Я отредактировал свой ответ, чтобы отразить это.
ZenLulz 31.05.2018 23:35:50

Мы можем легко удалить локальные неотслеживаемые файлы из текущего рабочего дерева git, используя приведенные ниже комментарии git.

git reset [--soft | --mixed [-N] | --hard | --merge | --keep] [-q] [<commit>]

Пример:

git reset --hard HEAD

Ссылки:

  1. https://git-scm.com/docs/git-reset
  2. Как мне использовать 'git reset --hard HEAD', чтобы вернуться к предыдущему коммиту?
  3. Сбросить ветку локального репозитория так, чтобы она была похожа на заголовок удаленного репозитория
  4. https://jwiegley.github.io/git-from-the-bottom-up/3-Reset/4-doing-a-hard-reset.html
7
4.12.2017 06:30:46
Это также удалит изменения, сделанные для фиксации, а не только неотслеживаемые файлы, что может не соответствовать вашим ожиданиям.
raspy 8.05.2019 10:26:20
Не работает: оставляет несколько файлов. git clean -ffdxтакое решение
Eugene Gr. Philippov 9.05.2019 14:17:53