Trabajar de forma remota se ha vuelto mucho más común en el desarrollo web en los últimos años. Antes del control de la versión, trabajar de forma remota en el mismo proyecto de desarrollo habría sido una pesadilla absoluta. Los desarrolladores habrían tenido que enviar archivos grandes entre sí (probablemente a través de correo electrónico), pegando en su propio código antes de devolverlo. No había una forma real de rastrear lo que se había agregado y cuándo.
Afortunadamente, el control de versiones ha llegado e hizo un desarrollo en todos los frentes mucho más manejables. Los proyectos web se han vuelto mucho más fáciles de implementar y administrar, especialmente cuando se trata de trabajar en un equipo de desarrollo remoto. Ya no tiene que preocuparse por la versión actual de un sitio web sobrescribido: cada miembro del equipo es libre de trabajar en cualquier archivo en cualquier momento, no hay confusión en cuanto a donde se almacena la última versión de un archivo. almacenamiento en la nube Ayuda con el proceso también.
En este tutorial, vamos a estar usando. Github para gestionar nuestro código. Hay numerosos tipos diferentes de herramientas de control de versiones por ahí, como Bitbucket y TFVC, pero a pesar de que son todas diferentes, los principios siguen siendo los mismos cuando se trata de administrar el código.
Para obtener más maneras de facilitar el proceso de construcción de su sitio, consulte nuestras guías a la parte superior Creador de sitios web y Alojamiento web Servicio.
En primer lugar, es muy importante tener un modelo de ramificación exitoso cuando trabaje en cualquier equipo para que el proceso de desarrollo y despliegue funcione sin problemas. Lo más probable es que tenga varios desarrolladores que trabajan en el mismo proyecto. Cuando trabaje con una fuerza laboral remota, creo que el mejor flujo de trabajo está compuesto por tres sucursales principales, así como un conjunto de otros temporales:
También habrá un conjunto de ramas de características. Sin embargo, estos serán temporales para establecer inicialmente las nuevas características.
Supongamos que ejecuta un equipo con dos desarrolladores que trabajan de forma remota. Los llamaremos Sarah y James: ambos están trabajando en el mismo sitio web de Ecommerce para un cliente. Sarah necesita desarrollar una característica que registra los detalles del cliente.
Declararíamos esto en tres historias de usuario separadas: agregar, editar y eliminar, y luego agregar estos tres boletos al retroceso de Sprint.
Entonces, digamos que Sarah comienza en la sección Agregar detalles de los clientes. Necesitaría crear la rama de características 'Detalles de los clientes' y una historia de usuario una para la primera tarea 'Add-Detalles'.
Git Checkout desarrollar & amp; & amp; Git Tire de origen / desarrollo
Git Checkout -b Feature / Detalles del cliente
Git Checkout -b Add-Detalles
Sarah continuaría trabajando en la sucursal temporal 'Add-Dirección' localmente y comprometería su trabajo mientras se desarrolla. Ahora, digamos que James quiere ayudar a Sarah con la función de detalles del cliente, por lo que comienza a trabajar en la eliminación de detalles.
James tiraría la última versión de la sucursal compartida y crearía una nueva sucursal para la historia del usuario 'Eliminar-detalles'. Luego puede comenzar a hacer sus propias adiciones sin preocuparse por sobrescribir el código de Sarah.
Función de pago de GIT / Detalles del cliente
Git Pull Origin / Feature / Detalles del cliente
Git Checkout -b Eliminar-Detalles
También utilizará su sucursal temporal a código a nivel local y cometerá cualquier cambio. Una vez que Sarah ha terminado su característica localmente, ella pone el boleto en el código de revisión. Ella empujaría su código a la rama de la ubicación y abriría una solicitud de extracción con el entorno de puesta en escena.
// Ella empuja su código a la rama de puesta en escena
Git Push Origen Add-Detalles
// Ella abre una solicitud de extracción con el entorno de puesta en escena
GIT SOLICITUD-PULLER PRINCIPAL DE PRESENTACIÓN DETALLES
Ahora tendríamos la rama de características de los detalles del cliente y las dos características de la historia de los usuarios se encuentran en el desarrollo 'Add-Detalles' y 'Eliminar-detalles'.
Una vez que su código ha sido revisado, puede fusionar su sucursal en la puesta en escena. El boleto está ahora en la columna de validación, esperando la validación del desarrollador principal.
// Ella obtiene la última versión de la rama de puesta en escena
Git Checkout Staging & Amp; & amp; GIT TRATE ORIGEN / PRESENTACIÓN
Git Fusion Add-Detalles y amp; & amp; Git PUSH ORIGEN STOREGE
// Ella construye el entorno de validación
// y le pide al propietario del producto que valide
Una vez que el trabajo de Sarah ha sido validado, el boleto se puede mover a la columna HECHO. Puede fusionar su trabajo en la sucursal de características y comenzar otra historia de usuario, como la eliminación de los detalles del cliente.
// Ella tira la última versión de la rama de características
Función de pago de GIT / Detalles del cliente
FUNCIÓN DE ORIGEN DE PULLO DE GIT / Detalles del cliente
Git Fusion Add-Dirección y amplificador; & amp; Función de origen PUSH GIT / Detalles del cliente
Cuando toda la característica ha sido validada tanto por el desarrollador principal como por el cliente, Sarah puede combinar la sucursal de la función en el desarrollo, ya que está listo para ir.
// Ella obtiene la última versión de la sucursal de desarrollo
Git Checkout desarrollar & amp; & amp; Git Tire de origen / desarrollo
Detalles de fusión de Git / Detalles del cliente y AMP; & AMP; Git PUSH ORIGEN AVENSAR
Una vez que todo está completo y está listo para implementarse en producción, James Ferges se desarrolla en la liberación y lanza la implementación. En este punto, sabría que todo el código es correcto y el cliente es feliz. Etiqueta la confirmación del lanzamiento para obtener la historia de cada versión.
Git Checkout desarrollar & amp; & amp; Git Tire de origen / desarrollo
Git Checkout Lanzamiento y amplificador; & amp; GIT TRATE ORIGEN / LIBERACIÓN
git fusionado desarrollo & amp; & amp; TAG DE GIT 2.1
GIT PUSH ORIGEN LENGIÓN DE ORIGEN - PAGS
Este flujo de trabajo de desarrollo remoto puede ser bastante difícil de entender al principio, pero si hace que su equipo funcione con este método, entonces tiene un flujo de trabajo gratuito sin la necesidad de pánico sobre los archivos que se sobrescriben o sus desarrolladores que trabajan en la misma área.
Hay algunas cosas clave para recordar:
git co desarrollo & amp; & amp; Git Tire de origen / desarrollo
rama git -d staging & amp; & amp; GIT PUSH ORIGEN - PRESENTACIÓN DE ELIMETE
GIT CO -B STEGAY & AMP; & AMP; Git Pull Origin Staging
Con proyectos más pequeños, es posible que desee utilizar un flujo de trabajo menos complejo. Puede usar Master, que contiene la versión más actualizada, una rama de desarrollo y luego un conjunto de sucursales para cada característica adicional, ya sea que sea el foro, el formulario de contacto, el sistema de pago. Todo depende de su preferencia personal.
Tratar con los conflictos de combinación es lo suficientemente difícil si todos trabajan en la misma habitación, pero pueden volverse aún más de una pesadilla si está trabajando en una oficina diferente. Lo más importante es recordar que siempre puede deshacer una combinación y volver a volver al estado antes de que ocurrió el conflicto.
Ya sea que esté haciendo todas las fusionadas como desarrollador principal o su equipo, los que los hacen independientemente, el primer paso es entender lo que ha sucedido.
Git te dirá que tienes Caminos no armados vía estado de git :
Estado de $ git
# En la rama de pago-sistema
# Tienes caminos no armados.
# (arreglar conflictos y ejecutar "git commit")
#
# Caminos no perfectados:
# (use "GIT ADD & LT; FILE & GT; ..." para marcar la resolución)
#
# ambos modificados: checkout.html
#
No se agregan cambios a la comisión (use "git add" y / o "git commit -a")
Ahora, la causa más común de un conflicto es cuando los cambios afectan los mismos archivos en la misma línea. Entonces, echemos un vistazo a los contenidos de la línea en conflicto. Notará que Git es realmente bueno en el hecho de que marcará el área en conflicto al encerrarlo en & lt; & lt; & lt; & lt; & lt; & lt; & lt; y & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; [otra / sucursal / nombre] . En este caso, es Sistema de pago .
& lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt CABEZA
Esta línea se cometió mientras trabajaba en la sucursal "Formulario de usuario".
========
Esta línea, en contraste, se cometió mientras trabajaba en la sucursal "Sistema de caja de cambios".
& gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt Refs / Heads / Checkout-System
Los contenidos después del primer marcador se originan en su rama de trabajo actual. Después de los soportes de ángulo, Git nos dice de qué sucursal vino los cambios. Una línea con ======== Separa los dos cambios en conflicto.
Ahora puede simplemente abrir el archivo en un editor, buscar los marcadores de conflicto y realizar las modificaciones necesarias. Cuando haya terminado, el archivo debe verse exactamente como quiere que se vea o, alternativamente, puede decirle a Git que simplemente irá con una de las versiones editadas, llamadas nuestro o suyo .
Git Checkout -urs ruta / a / conflict-file.html
También hay muchas aplicaciones de herramientas de combinación que pueden ayudar con esto. El caleidoscopio es genial para Mac.
Es tan importante como un desarrollador principal para tener una herramienta de gestión de proyectos para administrar cosas, como tareas y errores, especialmente cuando sus desarrolladores no se basan en la oficina. Hay numerosas soluciones por ahí, como Zenhub y Asuna, pero creo que el proyecto incorporado del proyecto y la emisión de GitHub es la mejor.
Puede hacer cosas como establecer un nuevo proyecto, crear tableros o asignar problemas. Y no solo confundir los problemas con problemas: también puede usarlo para mejorar, preguntas y errores, entre otras cosas.
Aquí hay algunas de sus mejores características:
Si va a Github y luego diráje a uno de sus repositorios, verá una pestaña que se denomina proyectos. Desde allí puede seleccionar un nuevo proyecto, configurar los detalles de su proyecto y crear una nueva plantilla de proyecto.
Si ahora selecciona la pestaña Problemas que está a lo largo de la parte superior y seleccione Nuevo problema, podrá crear un nuevo problema. Luego, puede aplicar varias etiquetas, estas son cosas como el error, la mejora, la pregunta y el duplicado. También puede usar la mejora para una nueva característica o solicitud. Luego puede asignar varios miembros del equipo a la tarea, un hito y también el proyecto que acaba de crear.
Luego, los miembros asignados tendrán una lista de todas sus tareas e incluso puede usar la placa del proyecto para mantener una pista de lo que se está construyendo actualmente. Si recuerda nuestro tutorial anterior, estábamos hablando de billetes de mudanza para acumular sprint y validación. Así que GitHub funciona muy bien como una herramienta todo en uno para supervisar un proyecto.
Este artículo fue publicado originalmente en el número 311 de neto , la revista más vendida del mundo para diseñadores web y desarrolladores web. Comprar emitiendo 311 aquí o Suscríbete aquí .
Artículos relacionados:
[dieciséis] (Crédito de la imagen: Dahlia Khodur) Las hojas de caracteres son el orden del día en este tutorial, que cubre ..
[dieciséis] Cuando tengas la tarea de crear un diseño de personaje Desde cero, piensa en la personalidad de esa figura. Po..
[dieciséis] Reaccionar nativo es una plataforma que le permite construir aplicaciones móviles nativas usando JavaScript. Com..
[dieciséis] Preparar activos para uso digital es una tarea principal para diseñadores junior hoy - y distinto de Pre..
[dieciséis] El artista 3D y el panelista del vértice Maya Jermy le muestra cómo dominar VDM. Ella estará apareciendo en ..
La pintura negativa se refiere a pintar el espacio negativo Eso define formas positivas. Esto es especialmente importante con la acuarela tradicional, donde la pintura las cosa..
[dieciséis] Los espacios espaciales son divertidos de pintar, pero la parte del casco puede ser complicada para obtener la derecha, es..
[dieciséis] El mío es un estilo bastante impresionista de una acuarela. técnica de pintura , donde el detalle es menos im..