¿Debería Github Repo tener también la carpeta nuget packages?

¿Cuáles son las ventajas / desventajas O la práctica estándar de include packages en su repo github?

Tiene desventajas similares a include código producido como los binarys que produce el proyecto en sí; cualquiera que actualice los packages ahora tendrá un montón de compromisos que hacer, lo que potencialmente entrará en conflicto con los realizados por otra persona que actualizó los packages, y puede ser muy desorderado por ganancia cero.

Normalmente tengo lo siguiente en mi .gitignore para proyectos .NET:

packages/**/* !packages/repositories.config 

Es decir, ignora todos los contenidos de cualquier carpeta llamada "packages" a exception de repositories.config, que se incluye en el repository, por lo que cualquier repository clonado tiene todo lo que necesita para restaurar los packages necesarios de nuget.

Creo que la mejor práctica es omitir packages nuget. Existe una fuente central en la que siempre puedes get el package de la versión dada (nuget mismo), por lo que no tiene mucho sentido inflar tu repository git con ellos. Todos los desarrolladores pueden usar la característica Restauración automática de packages (ver https://docs.nuget.org/consume/package-restre ), para download automáticamente cualquier package Nuget que falte en la compilation. El artículo anterior de nuget docs también le muestra cómo configurar correctamente las cosas para esto.