Estoy un poco confundido sobre cómo usar el control de versiones con Unity, especialmente con objetos como escenas o prefabricados que no son solo código.
Tuvimos un problema recientemente cuando mi colega y yo estábamos trabajando en diferentes partes de la misma escena. lo que resultó en conflictos, ramificación y fusión en abundancia.
Al final, mi revisión fue anulada por sus cambios de todos modos.
La única forma en que veo en este momento es que nos turnemos para trabajar en los mismos objetos, pero no parece muy conveniente, especialmente porque todo el trabajo que estamos haciendo actualmente está en escena.
¿Qué suelen hacer las personas en estas situaciones?
(Estamos utilizando Mercurial, BitBucket y SourceTree).
version-control
unity3d
Kaworu
fuente
fuente
Respuestas:
Puedes probar la siguiente solución si estás usando GitHub.
Esto funciona bien para mi.
fuente
La mayoría de los sistemas de control de versiones (VCS) están diseñados para texto. Por lo general, tienen características muy potentes y convenientes para comparar (
diff
) y fusionar el código fuente, y algunas herramientas pueden incluso combinar automáticamente los cambios (y hacer un trabajo decente al adivinar cómo se deben fusionar los cambios y en qué momento se debe solicitar al desarrollador que haga un fusión manual).Sería genial tener un mejor soporte
diff
y fusión de archivos binarios de las respectivas aplicaciones que usan esos archivos. Microsoft Word, por ejemplo, permite comparar dos documentos, y aunque está lejos de ser una herramienta de fusión conveniente, sigue siendo mejor que nada y me ahorró horas en múltiples ocasiones. Desafortunadamente, la función de fusión generalmente se supervisa en productos de software o es difícil de implementar (¿cómo visualiza unadiff
escena 3D?)Cuando se trata de archivos binarios, obtienes poca ayuda de VCS. No solo no pueden almacenar cambios sucesivos de manera eficiente, sino que tampoco pueden ayudarlo a fusionar los cambios.
Hace dos años, hice una pregunta muy similar sobre el uso del control de versiones en el software de edición de video . Creo que las respuestas que se dieron a mi pregunta se aplican parcialmente aquí también, la única (pero importante) diferencia es que mi pregunta se refería a archivos grandes, mientras que en su caso, los archivos binarios son probablemente relativamente pequeños.
El enfoque que encontró, que es "turnarse para trabajar en los mismos objetos", es el mejor. Si no puede fusionarse, no trabaje en paralelo en las mismas cosas. Si trabaja en la misma oficina, podría ser fácil de hacer. De lo contrario, la mayoría de los sistemas de control de versiones ( incluido el que usa ; también se trata aquí en un contexto de BitBucket) admiten el bloqueo , que consiste en que el usuario de un VCS diga, a través del sistema, que está trabajando en un archivo determinado ahora; otros usuarios pueden cargar la última versión del archivo, pero no se espera que lo cambien.
fuente