Contexto:

Tenemos un proyecto de Visual Studio que depende de un paquete nuget (una cosa de Visual Studio).

Actualizamos nuestro proyecto con ese paquete nuget cada vez que lanzamos una nueva versión de ese paquete.

El proyecto se almacena en git y clonamos el proyecto para obtener una copia local para que podamos iniciar la actualización desde Visual Studio a través de actualizaciones nuget.

Un colega se quejó / notó que la actualización tomaría alrededor de 30 minutos y comenzó la pregunta de por qué era tan lenta.

Después de algunos pinchazos, parecía que al eliminar git de la carpeta raíz y, por lo tanto, esencialmente no rastrear todos los archivos, la actualización fue 10 minutos más rápida.

Luego todos hicimos lo mismo y, efectivamente, fue aproximadamente 10 minutos más rápido.

Como mitigación, hemos estado copiando el proyecto en otra carpeta, por lo que no tenemos git zumbando en segundo plano, y una vez que el proyecto ha terminado de cargarse, volvemos a colocar el proyecto en la carpeta original y luego git retoma los cambios realizados en uno. gran éxito.

Pregunta:

¿Hay alguna manera de deshabilitar temporalmente git para que no registre los cambios mientras se produce la actualización y luego habilitarlo después de que se realiza la actualización para que pueda volver a evaluar los archivos modificados después? Mi comprensión de la situación es que git probablemente esté escribiendo todos los cambios menores que ocurren mientras nuget descarga e instala el nuevo paquete en el proyecto.

NB

Escribo esto desde un punto de vista incierto. De acuerdo, eliminar git lo hace más rápido, pero, por supuesto, no estoy seguro de lo que realmente está sucediendo bajo el capó ... por lo que la pregunta puede ser un poco discutible en términos de git. Pero si podemos resolverlo, ¡en toda la empresa ahorraría mucho tiempo!

0
Jimmyt1988 14 oct. 2019 a las 18:18

1 respuesta

La mejor respuesta

Para evitar que Git rastree los cambios en la solución temporalmente, simplemente configure el complemento de control de código fuente en ninguno en Visual Studio a través de Herramientas> Opciones> Control de código fuente> Selección de complemento :

Tools > Options > Source Control > Plug-in Selection

Tenga en cuenta que su solución se verá obligada a cerrarse, deberá volver a abrirla.

Una vez que lo haga, verá que Team Explorer no realiza un seguimiento de los cambios, ya que Git no es el complemento de control de fuente seleccionado actualmente:

Git is not the current Source Control plug-in

1
martinthebeardy 15 oct. 2019 a las 13:30