Git не удаляет репо git, который находится в игнорируемом каталоге - PullRequest
0 голосов
/ 30 апреля 2020

У меня есть файл .gitignore, который содержит каталог target. И теперь я понял, что git, что git не удалит репозиторий git, который находится в каталоге target, даже если я сделаю:

$ git clean -fdx
Skipping repository target/x

Существует ли решение для обработки который? Специальный вариант конфигурации? Потому что я дал -f Force et c. ?

Обновление:

Я могу вручную создать хранилище в каталоге target, выполнив следующие шаги вручную:

maven-it-extension (issue-21)$ git st
On branch issue-21
Your branch is up to date with 'origin/issue-21'.

nothing to commit, working tree clean
maven-it-extension (issue-21)$ mkdir target/x
mkdir: target: No such file or directory
maven-it-extension (issue-21)$ mkdir -p target/x
maven-it-extension (issue-21)$ cd target/x/
x (issue-21)$ git init .
Initialized empty Git repository in /Users/khmarbaise/ws-git-apache/maven-it-extension/target/x/.git/
x (master #)$ cd ..
target (issue-21)$ cd ..
maven-it-extension (issue-21)$ git status
On branch issue-21
Your branch is up to date with 'origin/issue-21'.

nothing to commit, working tree clean
maven-it-extension (issue-21)$ git clean -fdx 
Skipping repository target/x
maven-it-extension (issue-21)$ 

Обновление

Использование дополнительного -f - это решение, которое выглядит следующим образом:

maven-it-extension (issue-21)$ git clean -f -fdx 
Removing target/

1 Ответ

1 голос
/ 30 апреля 2020

Попробуйте запустить git clean -f -f -x -d (или git clean -ffxd)

Процитируйте do c (и хароли намекали на вопрос, предложенный @LasseVKarlsen):

-f , --force

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

...