El documento de codificación de Google: Git y GitHub

Introducción

Google Doc es un procesador de textos del lado del servidor (en línea). Los archivos de un usuario se crean a través de un navegador web y se almacenan en un servidor. Este software hace posible que los usuarios compartan documentos con otros para colaborar. Normalmente, el flujo de trabajo es el siguiente:

  • Crea un documento y rellénalo con contenido.
  • Guarde contenido y comparta archivos con otros para colaborar.
  • Los miembros contribuyen en el mismo documento, en línea.

Además de compartir archivos, otra característica importante es la capacidad de deshacer o rehacer los cambios realizados en el archivo "maestro". Los cambios realizados en el documento son secuenciales y cualquier usuario puede deshacer (o rehacer) esos cambios.

Pero esto puede convertirse rápidamente en un gran lío, especialmente cuando varios usuarios están agregando o editando contenido simultáneamente. Se desconoce quién creó o cambió qué contenido y por qué motivo.

Atom, Git y GitHub

En el desarrollo de software, las herramientas para la programación colaborativa consisten en un editor de texto, un sistema de control de versiones y un repositorio en línea.

Atom ( o cualquier editor de texto ) es como su procesador de texto del lado del cliente (escritorio), excepto que el documento está escrito en algún idioma (es decir, JavaScript).

Git es una herramienta para registrar selectivamente el historial de los cambios guardados de su proyecto. Es una forma de ' controlar ' todas las diferentes versiones de su proyecto de programación.

GitHub es como su Google Docs, excepto que puede crear y guardar su versión del código sin conexión, antes de " presionar " para guardarlo en línea.

Entonces, tiene su editor de texto ( Atom ) , sistema de control de versiones ( Git ) y sistema de almacenamiento de archivos remoto ( GitHub ) . Estos son los elementos básicos que resuelven el problema de la colaboración, especialmente para los desarrolladores de software. El flujo de trabajo es similar al uso de Google Docs, con algunas diferencias.

Flujo de trabajo de desarrollo de software colaborativo

  1. Crear un repositorio de GitHub en línea ( remoto ) ( //github.com/new )

2. Cree un repositorio sin conexión ( local ). El comando de terminal git init project_name inicia su proyecto creando una carpeta para almacenar su contenido y archivos de control de versiones para almacenar un historial de sus cambios

  • La idea es eventualmente tener una copia remota y local de su proyecto.

3. Utilice un editor de texto para crear contenido. Aquí es donde comienza a escribir su programa con Atom y crea sus archivos JavaScript.

4. Guarde el contenido y observe progresiones históricas significativas en su proyecto. El comando de terminal git add. agrega todo el contenido de la carpeta, todos los cambios, para que se confirmen en el historial. El comando git commit -m 'mensaje' confirma los cambios en el historial, junto con un mensaje que explica los cambios realizados. El comando git push envía sus archivos y datos históricos a su repositorio remoto.

  • A medida que avanza continuamente en su proyecto, está registrando el fundamento detrás de cada etapa de desarrollo (git add, git commit, git push).

5. Comparta archivos con otros para colaborar. Una vez que su repositorio remoto tenga contenido, puede compartir su proyecto con colaboradores.

  • Una vez que los miembros aceptan la invitación, pueden bifurcar una rama del repositorio remoto y clonar el proyecto localmente ( git clonesh>).

Original text


  • Cada colaborador puede crear contenido, guardar el contenido y enviarlo a su sucursal remota.
  • A medida que los colaboradores continúan construyendo y guardando su contenido, terminan construyendo bifurcaciones en el "cielo" de GitHub ( git add , git commit , git push ).
  • Cada bifurcación es un colaborador que se deriva del proyecto original para que los miembros puedan trabajar en paralelo con el creador, sin interrumpir el progreso de los demás. Cada vez que un colaborador realiza un git push , la bifurcación se alarga.

6. Fusionar archivos ramificados. A petición de los colaboradores, el originador puede extraer su rama para fusionarla con la rama maestra.

  • Cuando un colaborador envía una solicitud de extracción, el creador puede realizar una extracción de git para fusionar las ramas en una única versión actualizada del proyecto. Esta nueva versión se puede enviar al repositorio remoto para que todos la vean y usen.

Control de versiones y uso compartido de archivos

En el desarrollo de software colaborativo, se realizan cambios en varios clones de una copia maestra, antes de fusionarlos con el archivo maestro. Entonces, los cambios realizados son secuenciales, pero con superposiciones en el tiempo.

Cada nueva pieza de contenido que se crea en un clon es finalmente empujada hacia el repositorio principal de un colaborador. El mensaje de compromiso de cada colaborador proporciona retroalimentación al creador para que pueda hacer ediciones y adiciones inteligibles al proyecto original.

Esta sería una hazaña difícil sin el control de versiones de Git y el intercambio de archivos de GitHub . Un comando de terminal simple ( git branch & lt; branch_n a me>) puede tomar un clon en una máquina local y crear una rama para que se pueda desarrollar una versión diferente del proyecto. Un usuario puede tomar nota de su progresión (git add & git commit) en cualquier momento. Si hubo algún problema con una versión activa, el usuario simplemente puede cambiar a un ancla de br anterior (git chec kout

anch_name>) y continúe desde allí.

Este es el significado del control de versiones . En cualquier momento, un usuario puede cambiar a versiones alternativas de un proyecto, al mismo tiempo que realiza notas inteligibles que explican la progresión de cada versión. El usuario tiene control total sobre las versiones que se desarrollan. Un simple empuje de terminal a las "nubes" de GitHub hace que cualquier versión esté disponible para sus colaboradores. Este es el poder de usar Git y GitHub en el desarrollo de software colaborativo.

Referencias:

Git - Videos

Editar descripción git-scm.com Aprenda Git con Bitbucket Cloud | Tutorial de Atlassian Git

Aprenda Git con Bitbucket Cloudwww.atlassian.com Cómo funciona Google Docs

Back-end de Google Docs: el back-end de Google Docs se basa en hardware y software simples y económicos. Más información… computer.howstuffworks.com Atom (editor de texto) - Wikipedia

Atom es un editor de texto y código fuente gratuito y de código abierto para macOS, Linux y Microsoft Windows compatible con… en.wikipedia.org Git - Wikipedia

Git () es un sistema de control de versiones distribuido para rastrear cambios en el código fuente durante el desarrollo de software. Es… en.wikipedia.org GitHub - Wikipedia

GitHub ofrece planes para cuentas empresariales, de equipo, profesionales y gratuitas que se utilizan comúnmente para alojar software de código abierto… en.wikipedia.org