studio - Resource.Designer.cs bajo git
xamarin forms español (2)
Trabajo en un entorno donde las personas usan dos IDE diferentes (Visual Studio y Xamarin Studio) para trabajar en el mismo código. Desafortunadamente, generan versiones ligeramente diferentes del archivo Resource.Designer.cs. Este es un archivo generado automáticamente, pero lo necesitamos en VC, o el proyecto se quejará cuando intente compilarlo después de la clonación.
El problema aquí es que necesitamos este archivo en vc, PERO los pequeños cambios son muy molestos. Si confirma el proyecto con un IDE, entonces alguien descarga el proyecto en el otro y lo reconstruye, verá un cambio en ese archivo. Luego, si intenta cambiar de rama, Git puede rechazar debido al conflicto de fusión. De manera similar, si intenta fusionar dos ramas, está casi seguro de ver un conflicto de fusión en el encabezado de ese archivo.
El mismo problema ocurre si dos personas construyen usando el mismo IDE, pero versiones ligeramente diferentes del tiempo de ejecución. Estoy mirando un ejemplo en este momento con el siguiente cambio que se muestra en Git:
- // Runtime Version: 4.0.30319.18444
+ // Runtime Version: 4.0.30319.34011
Una solución que solucionaría el problema es, solo para este archivo , que Git siempre elija la versión "local" de los comentarios e ignore todos los cambios a los comentarios. Pero no sé si hay una manera de hacer eso. Si no es así, ¿hay alguna otra forma de evitar problemas constantes con pequeños cambios en este archivo?
Hay varias formas de abordar este problema en git. Consulte: https://gist.github.com/canton7/1423106 . El enlace trata con los archivos de configuración, pero puede aplicarlo a su situación según sea necesario.
Creo que la forma más sencilla de resolver esto es enviar el archivo como Resource.Designer.cs.in
, y luego, después de clonarlo, cópielo manualmente en Resource.Designer.cs
. También agregue Resource.Designer.cs
a su archivo .gitignore
.
Nuestros equipos de desarrollo abordan esto al enviar el Resource.Designer.cs
a nuestro repositorio de Git. Después de eso, cada desarrollador puede ejecutar git update-index --assume-unchanged Resource.Designer.cs
para hacer que Git ignore las actualizaciones de ese archivo.
Después de actualizar el índice, los cambios realizados en el archivo Resource.Designer
no aparecerán en la sección "Cambios no preparados para cometer" al hacer un git status
.
Si es necesario confirmar ese archivo, simplemente ejecute git update-index --no-assume-unchanged Resource.Designer.cs
y Git comenzará a rastrear los cambios en ese archivo nuevamente.