2010-11-30 13 views

Respuesta

22

Encuentra es tu amigo. una carpeta .git existirá en cada uno de sus repositorios, por lo que encontrar su ubicación le dará todos sus repositorios.

find /Users/username -name ".git" -print 
+1

esto lo hizo, gracias – flickerfly

+0

demasiado lento ..., ¿tal vez hay otra manera? – gaussblurinc

8

Uso find:

find ~ -name .git 

Este busca el directorio de .git que se crea en todos (no desnudos) repositorios Git.

La elección de un archivo adecuado para buscar para encontrar depósitos vacíos se deja como un ejercicio para el lector.

+2

En realidad, busca cualquier nombre .git, para los directorios que desee -type d, así como – ergosys

+3

@ergosys Buen punto, pero ¿cuántos archivos regulares llamados ".git" tiene usted por ahí? Si la respuesta es> 0, ¿qué hay en estos archivos? –

+3

@Laurence Nuclear códigos de lanzamiento, pornografía, claves de encriptación, listas de compras, etc. –

6

Con cáscara:

find $HOME -type d -name ".git" 
+0

find: -xtype: unknown option – flickerfly

+0

Olvidé que Mac OSX se envía con BSD 'findutils', mientras que 'xtype' es específico de GNU, creo. Corregí mi respuesta. –

4

Asumiendo que tiene locate, esto debería ser mucho más rápido:

locate .git |grep git$ 

Si ha de localizar GNU o mlocate, esto va a seleccionar sólo los directorios git :

locate -ber \\.git$ 
+0

$ locate -ber \\. Git $ locate: illegal option - b uso: locate [-0Scims] [-l limit] [-d database] patrón ... base de datos predeterminada: '/ var/db /locate.database 'o $ LOCATE_PATH – flickerfly

+1

Ha, esto es como ssh excepto SO :) – Tobu

+0

"ADVERTENCIA: La base de datos de localización (/var/db/locate.database) no existe." - ¿Debería crear una base de datos? – gaussblurinc

Cuestiones relacionadas