как удалить неотслеженные файлы в Git?
Я работаю над ветвью, скажем, "экспериментальной" ветвью, которую я отделяю от своей главной ветви.Затем я создаю пользовательскую модель в экспериментальной ветке, но пока не добавляю их в индекс.
что мне нужно сделать, если я хочу отменить все изменения файлов, недавно добавленных в мою экспериментальную ветку? Неотслеженные файлы перечислены ниже:
$ git status
On branch new_chick
Untracked files:
(use "git add <file>..." to include in what will be committed)
.project
app/models/user.rb
db/migrate/
test/fixtures/users.yml
test/unit/user_test.rb
Я попытался запустить "git reset --hard" в надежде отменить все эти изменения, но все файлы выше все еще показывать.
кто-нибудь, пожалуйста, пролить свет на меня?
7 ответов:
для удаления неотслеженных файлов / каталогов выполните:
git clean -fdx-F - сила
-д - каталоги тоже
- x-удалить игнорируемые файлы тоже ( не используйте это, если вы не хотите, чтобы удалить игнорируемые файлы)
Это не отслеживаемые файлы. Это означает, что git не отслеживает их. Это только перечисление их, потому что они не находятся в файле git ignore. Поскольку они не отслеживаются git,
git resetНе трогай их.Если вы хотите сдуть все неотслеживаемые файлы, самый простой способ-это
git clean -f(использоватьgit clean -nвместо этого, если вы хотите увидеть, что он уничтожит, фактически ничего не удалив). В противном случае, вы можете просто удалить файлы, которые вы не хотите вручную.
пользовательский интерактивный подход:
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/amazon/arsdumpgenerator/inspector/ [y/N]? y Remove src/com/amazon/arsdumpgenerator/manifest/ [y/N]? y Remove src/com/amazon/arsdumpgenerator/s3/ [y/N]? y Remove tst/com/amazon/arsdumpgenerator/manifest/ [y/N]? y Remove tst/com/amazon/arsdumpgenerator/s3/ [y/N]? y-Я для интерактивного
- f для силы
-D для каталога
-X для игнорируемых файлов(добавить при необходимости)
Примечание:добавить - n или -- dry-run чтобы просто проверить, что он будет делать.
для удаления неотслеживаемые файлы:
git clean -fдля удаления неотслеженных каталогов, а также, используйте:
git clean -f -dдля предотвращения любой остановки сердца, используйте
git clean -n -f -d
Ну, у меня была аналогичная проблема. Я взял последний, но были некоторые изменения в локальном, из-за которых слияние не происходило с конкретным файлом. Файл был не отслежен, и я не хотел, чтобы они так То, что я сделал, было...
$ git checkout filepath / filename
filepath-место, откуда я сделал git bash. потом, когда я взял последние изменения были доступны
вы также можете вернуться к предыдущему состоянию локального РЕПО другим способом:
- добавьте неотслеженные файлы в промежуточную область с помощью
git add.- возврат к предыдущему состоянию локального РЕПО с помощью
git reset --hard.
Comments