Cómo se obtiene un recuento de todos los archivos que están actualmente en un repositorio de git?

InformationsquelleAutor Dan Rigby | 2012-02-27

2 Comentarios

  1. 100

    Usted puede obtener un recuento de todas las marcas de archivos en un repositorio git mediante el siguiente comando:

    git ls-files | wc -l
    

    Comando Desglose:

    • La git ls-files comando imprime una lista de todo el seguimiento de los archivos en el repositorio, uno por línea.
    • La | operador embudos la salida del comando anterior en el comando siguiente al de la tubería.
    • La wc -l comando llama a la word count (wc) programa de. Pasando el -l bandera, le pide que devuelva el número total de líneas.

    Nota: Este devuelve un recuento de sólo el seguimiento archivos en el repositorio, lo que significa que cualquier archivos ignorados o nuevo & comprometidos archivos no serán contados.

    • Y si usted desea contar sólo para ciertas extensiones de archivo es fácil de tuberías a través de grep como git ls-files | grep "\.js$" | wc -l para JavaScript (.js) archivos
    • En el caso de 1000 archivos estaban comprometidos, y la empujó y, a continuación, todos ellos eliminados y la empujó de nuevo, se git ls-archivos para mostrar a los 1000 archivos? Es allí una manera de mostrar a todo el seguimiento de referencias y también hay una manera para mostrar sólo los archivos que están presentes en la actual cometer?
    • esto no funcionará si un archivo tiene '\n' en su nombre. Usted necesita git ls-files -z | grep -zc "^"
    • Una alternativa al uso de grep para obtener el número de una extensión de archivo según lo sugerido por mnorrish es git ls-files -x *.js -i | wc -l la -x dice los archivos a excluir y -i dice para incluir sólo los archivos excluidos. Esto funciona en windows y es menos caracteres para escribir 🙂
  2. 1

    Si usted vino aquí buscando una manera de hacer esto para un repositorio alojado en github sin la clonación de la misma, usted puede hacer esto:

    svn ls -R https://github.com/exampleproject/branches/master | wc -l
    

Dejar respuesta

Please enter your comment!
Please enter your name here