¿Hay alguna manera de que pueda ver todos los repositorios git que existen en mi máquina? ¿Algún comando para eso?¿Cómo puedo ver todos los repositorios de git en mi máquina?
Respuesta
Si está en Linux find/-name ".git"
, de lo contrario no hay forma, son directorios estándar, solo use su programa de búsqueda de archivos/carpetas del sistema operativo para encontrar .git
carpetas con nombre.
En Windows (y estoy seguro de que Mac también) podrías hacer algo similar ... solo una búsqueda de directorios llamados .git, que es lo que git usa para almacenar su metainformación. – cjstehno
En Mac, el comando anterior también funciona. (¡A menos que esté ejecutando OS9 o anterior!) –
¿Algún buen scripts de shell o pequeñas aplicaciones de utilidad que implementen esta sencilla función de búsqueda de archivos y agreguen información de estado del repositorio a la lista? No debería ser un problema escribir un script de shell para hacerlo, sino usar scripts bien adoptados que mis propios hacks no optimizados. – jmlane
En * nix, esto también encontrará cualquier repositorio --bare
.
find/-name "*.git" -type d
repositorios desnudos no necesitan ser nombrados 'nombre.git' eso es solo una convención, que yo, por ejemplo, no sigo. –
Dado que los repositorios simples no necesitan seguir esa convención de nomenclatura, ¿existe una forma universal de 'encontrar' esos repositorios? – jmlane
En Linux, probar este comando con permisos de root:
find/| grep \\.git$
esto sólo searchs todos los archivos que terminan con .git ... puedes hacerlo con herramientas de búsqueda en Windows, Linux, etc. ..
No tiene sentido dejar que 'find' genere todo y luego filtrar con' grep'. Prefiero usar '--name" * .git "' –
@Gregory Pakosz: ¿Cuál es la diferencia? –
@Michel, inicia 2 procesos y hace que el primero transmita a través de una tubería todo el árbol '/' durante el segundo a grep, cuando el primero puede hacer todo y evitar el enorme uso inútil de IO. No es una diferencia real para el usuario normalmente, pero para los grandes sistemas de archivos podría marcar la diferencia. –
Esto funciona bastante bien desde Windows PowerShell:
Get-ChildItem . -Attributes Directory,Directory+Hidden -ErrorAction SilentlyContinue -Include ".git" -Recurse
¡muy útil para usuarios de Windows! :) –
Get-ChildItem: no se puede encontrar un parámetro que coincida con el nombre del parámetro 'Atributos'. En línea: 1 char: 28 –
@DewaldSwanepoel - No tengo idea de por qué vería ese error sobre el parámetro Atributos. Está claramente en la documentación, y lo he intentado ahora en varias combinaciones de versiones de Windows/PowerShell. Windows 7, 8 y 10 funcionan con varias versiones de PowerShell para mí. Si DESCUBRA por qué ocurre el error, compártelo aquí para que podamos aprender:>) –
En Linux, una forma más rápida sería b e:
locate -r "\.git$"
suponiendo que se mantiene de localizar la base de datos actualizada con sudo updatedb
Definitivamente, locate es más rápido, úselo con precauciones, consulte aquí: https://unix.stackexchange.com/questions/60205/locate-vs-find-usage-pros-and-cons-of-eachother – AjayKumarBasuthkar
Git repositorios todos tienen HEAD
, refs
, objects
y config
entradas.
en GNU/nada,
find -name HEAD -execdir test -e refs -a -e objects -a -e config \; -printf %h\\n
Sólo la comprobación de .git
se perderá muchos repos desnudos y todos los submódulos.
En Linux y OS X el comando siguiente es posiblemente el más rápido (repositorios ignorando sin .git
) cuando el directorio raíz de find
es /
:
find/-name .git -exec dirname {} \; -prune
Pero para las raíces que en su mayoría tienen repositorios debajo, el siguiente es probablemente la más rápida (es posible que desee reemplazar /
con .
u otra raíz):
find/-type d -exec test -d {}/.git \; -prune -print
explicación rápida del primarias de find
utilizado (ya que no operadores están presentes aquí, -and
es implícita, es decir, para cada visitaron nodo primarias se evalúan de izquierda a derecha hasta que uno de ellos se evalúa como false
):
-name
estrue
si el nombre coincide con (a menudo, pero no aquí, con comodines)-exec
ejecuta un comando terminado por;
(que se escapó por\
para evitar la interpretación por parte de la concha) y estrue
si el estado de devolución es0
(es decir, OK).El nodo actual está disponible como{}
(que no necesita escape)-prune
es siempretrue
, y hace que todos los nodos hijos a ser omitidos-type d
estrue
para los directorios-print
que se necesita aquí porque si-exec
está presente, no se adjunta implícitamente
- 1. ¿Cómo busco todos mis repositorios git en mi Mac?
- 2. ¿Cómo puedo eliminar todos los archivos en mi repositorio de git y actualizar/enviar desde mi repositorio de git local?
- 3. Listado de todos los repositorios servidos por git-daemon
- 4. ¿Puedo alojar repositorios privados de Git en mi propio servidor?
- 5. Ver todos los `git diffs` con vimdiff
- 6. Git bugtraq para todos los usuarios que clonan mis repositorios?
- 7. Cómo mantener los repositorios GIT sincronizados
- 8. Listar todos los repositorios SVN
- 9. Cómo clonar repositorios git en redmine?
- 10. Git: ver mi última confirmación
- 11. ¿Cómo puedo ver todos los errores jslint en IntelliJ?
- 12. ¡Mi Gitorious no crea los repositorios!
- 13. ¿Cómo puedo obtener/enumerar/ver todos los descendientes de una confirmación con git (o gitk)?
- 14. ¿Cómo puedo unir dos repositorios git sin una raíz común, donde todos los archivos modificados son los mismos?
- 15. Cómo sincronizar dos repositorios git
- 16. ¿Debería comprometer .gitignore en los repositorios Git?
- 17. ¿Cómo puedo 'git clone' desde otra máquina?
- 18. ¿Cómo ver el registro de todos los comandos?
- 19. Cómo sincronizar repositorios Git en 2 servidores
- 20. ¿Cómo puedo ver todos los datos que solr indexa?
- 21. Administración de muchos repositorios git
- 22. git fusionar diferentes repositorios?
- 23. ¿Puedo cambiar los repositorios SVN de Eclipse?
- 24. Tener múltiples repositorios Git
- 25. ¿Cómo se manejan los repositorios grandes de git?
- 26. ¿Cómo puedo agregar repositorios remotos en Mercurial?
- 27. ¿Cómo comparo dos repositorios git?
- 28. ¿Cómo puedo ver mi versión de Eclipse?
- 29. ¿Cómo organizas tus repositorios git?
- 30. ¿Cómo configurar repositorios públicos de git?
Ver [git-summary] (https://github.com/MirkoLedda/git-summary). Es un script bash que enumera todos los repositorios y genera su información de estado. Descargo de responsabilidad, soy uno de los desarrolladores. – cagliari2005