Saltar al contenido

¿Puede obtener la cantidad de líneas de código de un repositorio de GitHub?

Esta es la contestación más acertada que te podemos dar, pero primero obsérvala detenidamente y analiza si se puede adaptar a tu trabajo.

Solución:

Un guión de shell, cloc-git

Puede usar este script de shell para contar la cantidad de líneas en un repositorio Git remoto con un comando:

#!/usr/bin/env bash
git clone --depth 1 "$1" temp-linecount-repo &&
  printf "('temp-linecount-repo' will be deleted automatically)nnn" &&
  cloc temp-linecount-repo &&
  rm -rf temp-linecount-repo

Instalación

Este script requiere la instalación de CLOC (“Contar líneas de código”). cloc probablemente se pueda instalar con su administrador de paquetes, por ejemplo, brew install cloc con cerveza casera. También hay una imagen acoplable publicada bajo mribeiro/cloc.

Puede instalar el script guardando su código en un archivo cloc-gitcorriendo chmod +x cloc-gity luego moviendo el archivo a una carpeta en su $PATH tal como /usr/local/bin.

Uso

El script toma un argumento, que es cualquier URL que git clone Va a aceptar. Los ejemplos son https://github.com/evalEmpire/perl5i.git (HTTPS) o [email protected]:evalEmpire/perl5i.git (SSH). Puede obtener esta URL desde cualquier página de proyecto de GitHub haciendo clic en “Clonar o descargar”.

Salida de ejemplo:

$ cloc-git https://github.com/evalEmpire/perl5i.git
Cloning into 'temp-linecount-repo'...
remote: Counting objects: 200, done.
remote: Compressing objects: 100% (182/182), done.
remote: Total 200 (delta 13), reused 158 (delta 9), pack-reused 0
Receiving objects: 100% (200/200), 296.52 KiB | 110.00 KiB/s, done.
Resolving deltas: 100% (13/13), done.
Checking connectivity... done.
('temp-linecount-repo' will be deleted automatically)


     171 text files.
     166 unique files.                                          
      17 files ignored.

http://cloc.sourceforge.net v 1.62  T=1.13 s (134.1 files/s, 9764.6 lines/s)
-------------------------------------------------------------------------------
Language                     files          blank        comment           code
-------------------------------------------------------------------------------
Perl                           149           2795           1425           6382
JSON                             1              0              0            270
YAML                             2              0              0            198
-------------------------------------------------------------------------------
SUM:                           152           2795           1425           6850
-------------------------------------------------------------------------------

Alternativas

Ejecutar los comandos manualmente

Si no desea molestarse en guardar e instalar el script de shell, puede ejecutar los comandos manualmente. Un ejemplo:

$ git clone --depth 1 https://github.com/evalEmpire/perl5i.git
$ cloc perl5i
$ rm -rf perl5i

Lingüista

Si desea que los resultados coincidan exactamente con los porcentajes de idioma de GitHub, puede intentar instalar Linguist en lugar de CLOC. De acuerdo con su README, debe gem install linguist y luego corre linguist. No pude hacerlo funcionar (problema #2223).

Puedes ejecutar algo como

git ls-files | xargs wc -l

que te dará el conteo total →

líneas de código

O use esta herramienta → http://line-count.herokuapp.com/

Hay una extensión para Navegador Google Chrome – GLOC que trabaja para reportos públicos y privados.

Cuenta el número de líneas de código de un proyecto de:

  • página de detalles del proyecto
  • repositorios de usuarios
  • página de la organización
  • página de resultados de búsqueda
  • página de tendencias
  • explorar página

ingrese la descripción de la imagen aquíingrese la descripción de la imagen aquíingrese la descripción de la imagen aquíingrese la descripción de la imagen aquíingrese la descripción de la imagen aquíingrese la descripción de la imagen aquíingrese la descripción de la imagen aquí

valoraciones y reseñas

Si entiendes que ha sido de provecho este post, te agradeceríamos que lo compartas con otros entusiastas de la programación y nos ayudes a dar difusión a este contenido.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *