9 ответов:
Если вы находитесь в Linux
find / -name ".git", в противном случае нет никакого способа, они являются стандартными каталогами, просто используйте свою программу поиска файлов/папок ОС, чтобы найти.gitимени папки.
это работает довольно хорошо из Windows Powershell:
Get-ChildItem . -Attributes Directory,Directory+Hidden -ErrorAction SilentlyContinue -Include ".git" -Recurse
Git-репозитории все есть!--1-->,
refs,objectsиconfigзаписи.на GNU / anything,
find -name HEAD -execdir test -e refs -a -e objects -a -e config \; -printf %h\nпросто проверка
.gitпропустит много голых репозиториев и все подмодули.
в Linux, попробуйте эту команду с правами суперпользователя:
find / | grep \.git$это просто поиск всех файлов, которые заканчиваются .мерзавец... вы можете сделать это с поиском инструментов в Windows, Linux и т. д...
на Linux, более быстрый способ такой:
locate -r "\.git$"предполагая, что вы держите базу данных locate обновляется с
sudo updatedb
в Linux и OS X следующая команда, возможно, самая быстрая (игнорируя репозитории без
.git) когда корневой директорииfind- это/:find / -name .git -exec dirname {} \; -pruneно для корней, которые имеют в основном репозитории внизу, следующее, вероятно, самое быстрое (вы можете заменить
/С.или другого корня):find / -type d -exec test -d {}/.git \; -prune -printкраткое описание праймериз на
findиспользовать (так как нет операторы а присутствующие здесь,-andнеявно, т. е. для каждого посещенного узла праймериз оцениваются слева направо, пока один из них не оценитfalse):
-nameиtrueесли имя совпадает (часто, но не здесь, с шаблонами)-execвыполняет команду расторгнут;(который ускользает от\чтобы избежать интерпретации оболочкой), иtrueесли возвращаемый статус0(т. е. ОК). Текущий узел является доступно как{}(который не нуждается в побеге)-pruneвсегдаtrue, и заставляет все дочерние узлы должны быть пропущены-type dиtrueдля каталогов-execприсутствует неявно прилагается
Для Linux:
dir="/home/${USER}" dir_not="${dir}/miniconda3" find /home/aeug -type d -iname ".git" -o -path "${dir_not}" -prune | xargs -0 echo
Comments