как удалить неотслеженные файлы в 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" в надежде отменить все эти изменения, но все файлы выше все еще показывать.



кто-нибудь, пожалуйста, пролить свет на меня?

605   7  
git

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.

для удаления неотслеживаемые файлы:

git clean -f

для удаления неотслеженных каталогов, а также, используйте:

git clean -f -d

для предотвращения любой остановки сердца, используйте

git clean -n -f -d

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

$ git checkout filepath / filename

filepath-место, откуда я сделал git bash. потом, когда я взял последние изменения были доступны

вы также можете вернуться к предыдущему состоянию локального РЕПО другим способом:

  1. добавьте неотслеженные файлы в промежуточную область с помощью git add.
  2. возврат к предыдущему состоянию локального РЕПО с помощью git reset --hard.

Comments

    Ничего не найдено.