¿Cómo puedo mostrar los archivos en Git que cambian con más frecuencia?Encontrar la mayoría de los archivos modificados en Git
Respuesta
puede utilizar el git effort
(del git-extras
paquete) orden que muestra estadísticas sobre la cantidad de confirmaciones por archivo (por commits y active dias).
EDITAR: git effort es solo a bash script you can find here y adaptarse a sus necesidades si necesita algo más especial.
Se podría hacer algo como lo siguiente:
git log --pretty=format: --name-only | sort | uniq -c | sort -rg | head -10
El registro simplemente imprime los nombres de los archivos que se han cambiado en cada confirmación, mientras que el resto de ella simplemente ordena y da salida a los 10 con mayor frecuencia apareciendo nombres de archivos.
Buena solución. Cada vez que veo tu nombre en la página de etiquetas de git voy a leer lo que escribiste. Y siempre es un placer;) – lucapette
@lucapette: gracias, es amable de su parte decirlo :) –
¿Puede decirme si se basa en la rama actual o si es para todo el repositorio? ¿Qué pasa con las sucursales aún no fusionadas? –
También podemos encontrar archivos modificados entre dos confirmaciones o ramas, por ejemplo,
git log --pretty=format: --name-only <source_branch>...<target_branch> | sort | uniq -c | sort -rg | head -50
Para PowerShell, suponiendo que tenga instalado Git Bash
git log --pretty=format: --name-only | sort | uniq -c | sort -Descending | select -First 10
Muchas gracias – StevenMcD
Ésta es probablemente obvio, pero, las consultas previstas mostrará todos los archivos, pero, tal vez usted no está interesado en saber que su los archivos de configuración o proyecto son los más actualizados. Un grep sencilla aislará a los archivos de código, por ejemplo:
git log --pretty=format: --name-only | grep .cs$ | sort | uniq -c | sort -rg | head -20
me di cuenta de que ambos Mark’s y sehe’s respuestas no --follow
los archivos, es decir, que dejan una vez que alcanzan un cambio de nombre de archivo . Este script será mucho más lento, pero funcionará para ese propósito.
git ls-files |
while read aa
do
printf . >&2
set $(git log --follow --oneline "$aa" | wc)
printf '%s\t%s\n' $1 "$aa"
done > bb
echo
sort -nr bb
rm bb
git whatchanged --all | \grep "\.\.\." | cut -d' ' -f5- | cut -f2- | sort | uniq -c | sort
Si sólo desea ver los archivos de complemento a --author
git whatchanged --author=name --all
.
genial, gracias! :) – Yekver
Ésta es una versión de Windows
git log --pretty=format: --name-only > allfiles.csv
luego abrir en Excel
A1: FileName
A2: isVisibleFilename >> =IFERROR(IF(C2>0,TRUE,FALSE),FALSE)
A3: DotLocation >> =FIND("@",SUBSTITUTE(A2,".","@",(LEN(A2)-LEN(SUBSTITUTE(A2,".","")))/LEN(".")))
A4: HasExt >> =C2>1
A5: TYPE >> =IF(D2=TRUE,MID(A2,C2+1,18),"")
crear tabla dinámica
values: Type
Filter: isFilename = true
Rows : Type
Sub : FileName
click [Count Of TYPE] -> Sort -> Sort Largest To Smallest
- 1. submódulo git los archivos modificados de estado
- 2. ¿Cómo exportar todos los archivos modificados/agregados de Git?
- 3. Lista GIT de archivos nuevos/modificados/eliminados
- 4. git: muestra todos los archivos modificados entre dos commits
- 5. Git ¿agregar todos los archivos modificados, eliminados y sin seguimiento?
- 6. Encontrar la mayoría de los objetos repetidos en la matriz
- 7. Archivo de git de archivos modificados en repos sin conexión
- 8. Ver todos los archivos modificados en TFS
- 9. Ignorar archivos modificados (pero no confirmados) en git?
- 10. Gancho de precompilación de Git: Archivos modificados/agregados
- 11. git: lista de todos los archivos modificados incluidos los de los submódulos
- 12. Uso de Git para crear un archivo de archivos modificados
- 13. ¿Hay alguna manera de ver todos los archivos modificados en una rama en Git?
- 14. copia por lotes sólo los archivos modificados
- 15. Debería confirmar los archivos modificados por eclipse
- 16. git-gui: mover el foco del teclado a "archivos modificados"
- 17. InnoSetup: no desinstale los archivos modificados
- 18. Subversion marca archivos no modificados como modificados
- 19. ¿Cómo puedo restaurar solo los archivos modificados en un checkout de git?
- 20. Los archivos modificados en una rama git se están extendiendo a otra rama
- 21. IntelliJ: Visualización de diferencias de todos los archivos modificados entre local y git commit/branch
- 22. Git: cómo obtener todos los archivos modificados y nuevos en una carpeta o zip?
- 23. git: enumere todos los archivos agregados/modificados en un día (o semana/mes ...)
- 24. CVS: enumera todos los archivos modificados entre etiquetas (o fechas)
- 25. Lista de archivos modificados en Xcode 4
- 26. ¿Cómo enumerar todos los archivos modificados en un volumen oculto?
- 27. ¿Cómo veo la lista de archivos modificados para una confirmación única, en Git?
- 28. encontrar la mayoría de las cadenas repetidas sub en orden
- 29. En Linux, ¿cómo encuentro el directorio con la mayoría de los subdirectorios o archivos?
- 30. SVN exporta solo los archivos modificados de las etiquetas
¡Oh hombre! Esto es genial. – Sebastian
La salida se dividirá en 2 partes, primero obtendrá los resultados sin clasificar, luego los resultados ordenados (y coloreados). ¿Derecha? – Andy
@Andy parece (y 'git help effort' no tiene información al respecto: /). Supongo que el primer conjunto de resultados se ordena por nombre de archivo, y el segundo por número de confirmaciones por archivo. La página man también menciona https://github.com/tj/git-extras/issues para informar problemas – Asenar