1. Diseño y desarrollo webGit Version Control

Por Sarah Guthals

GitHub, como sugeriría lo mismo, está construido sobre Git. Git es un tipo de sistema de control de versiones, y es gratuito y de código abierto, lo que significa que cualquiera puede usarlo, construir sobre él e incluso agregarlo.

Los productos de GitHub facilitan el uso de Git, pero si tiene curiosidad, también puede usar Git para rastrear sus proyectos en solitario en su computadora.

Prueba Git simple en la terminal

Con la ayuda de Git para Windows, usar el terminal en computadoras Mac, Windows o Linux es exactamente lo mismo. Un terminal es una aplicación que le permite interactuar con su computadora de una manera basada en texto; en otras palabras, en lugar de hacer doble clic y arrastrar, escribe comandos para navegar por su computadora.

Si estás en Mac o Linux, ya hay un terminal instalado en tu computadora. Si está utilizando una computadora con Windows, instale Git para Windows. Haga clic en Descargar para obtener acceso a Git Bash, un emulador que le permite interactuar con Git tal como lo haría en un terminal Linux o Mac. También obtiene Git GUI, que le brinda una interfaz de usuario para casi todos los comandos de Git que puede escribir en Git Bash, y la integración de shell para que pueda abrir rápidamente Git Bash o Git GUI desde cualquier carpeta.

Muchos desarrolladores en Windows prefieren usar PowerShell como su entorno de terminal. Puede usar Git dentro de PowerShell.

Primero, encuentre la aplicación Terminal:

  • En Mac, puede hacer clic en la lupa en la parte superior derecha de su escritorio, escribir Terminal, seleccionar el terminal de la lista de aplicaciones y presionar Entrar o hacer clic en él. En Linux, presione Ctrl-Alt-T todo al mismo tiempo, y se abrirá la ventana de terminal. En Windows, haga clic en el menú de Windows en la parte inferior derecha de su escritorio, busque Git Bash, seleccione la aplicación Git Bash de la lista de resultados de búsqueda y presione Entrar o haga clic.

Cuando se abra la aplicación, escriba git --version en el terminal. Si tiene instalado Git, debería ver un número de versión, como se muestra en el siguiente código (el $ ya debería estar en la línea, por lo que no necesita escribirlo). De lo contrario, puede seguir estas instrucciones.

Al usar la línea de comando, debes tener mucho cuidado con lo que estás escribiendo exactamente. En el siguiente código, la primera instrucción es que escriba git --version. Debe tener en cuenta que aparece un espacio entre git y el resto de la instrucción, pero no otros espacios. También debe tener en cuenta los dos guiones antes de la versión de la palabra. Pueden ser fáciles de perder, ¡así que ten cuidado!

Para Mac o Linux, debería ver algo como esto:

$ git --version

git versión 2.16.3

PS

Para Windows, debería ver algo como esto:

$ git --version

git versión 2.20.1.windows.1

PS

Luego, usando la terminal, vaya a su escritorio y cree una nueva carpeta llamada git practice. Para hacer esto, debe escribir los siguientes comandos:

$ cd ~ / Escritorio

$ mkdir git-practice

$ cd git-practice

PS

Si escribe pwd, debería ver que ahora está en la carpeta git-practice, que está en su escritorio. Podría verse más o menos así:

$ pwd

$ / Users / sguthals / Desktop / git-practice

PS

Ahora, puedes decirle a git que rastree esta carpeta usando el comando init.

$ git init

Inicializado repositorio Git vacío en / Users / sguthals / Desktop / git-practice

PS

Luego, asegúrese de tener una carpeta limpia. Puede verificar con el comando de estado:

$ git status

En el maestro de sucursal

Aún no se compromete

nada que confirmar (crear / copiar archivos y usar "git add" para rastrear)

PS

Luego, puede crear un archivo para que Git comience a rastrear y confirmar que el archivo está en la carpeta:

$ echo "practicando git"> file.txt

$ ls

file.txt

PS

En Mac, puede abrir esta carpeta en un Finder con el comando abrir :

$ abierto.

PS

En Linux, puede abrir esta carpeta con el comando nautilus :

$ nautilus.

PS

En Windows, puede abrir esta carpeta con el comando explorador :

$ explorer.

PS

En este ejemplo, lo ponemos. como para cada comando. . le dice al terminal que abra la carpeta actual. También puede usar una ruta diferente con estos comandos para abrir otras carpetas.

Después de abrir la carpeta, haga doble clic en el archivo llamado file.txt, y el archivo se abrirá con TextEdit en Mac, gedit en Linux y Notepad en Windows. Puedes ver que las palabras "practicando git" están realmente allí.

Cierra el archivo. Ahora, puede decirle a Git que desea guardar esto como una versión en particular. De vuelta en la terminal:

$ git add file.txt

$ git commit -m "Agregar mi archivo a esta versión"

[master (root-commit) 8d28a21] Agregar mi archivo a esta versión

1 archivo modificado, 1 inserción (+)

Crear modo 100644 file.txt

$ git status

En la rama maestro

nada que comprometerse, árbol de trabajo limpio

PS

Puede hacer un cambio en su archivo en el archivo de texto. Abra el archivo nuevamente, cambie el texto para decir "¡Hola! ¡Estoy practicando git hoy! "Y luego haga clic en Archivo → Guardar y cierre la aplicación de texto.

Cuando regrese a la Terminal para verificar el estado de su proyecto nuevamente, debería ver que Git ha notado que el archivo ha cambiado:

$ git status

En el maestro de sucursal

Cambiado no organizado para confirmar:

(use "git add

{use "git checkout - ..." para descartar los cambios en el directorio de trabajo)

modificado: file.txt

sin cambios agregados a commit (use "git add" y / o "git commit -a")

PS

Confirme esta versión de su archivo nuevamente y observe que Git reconoce que todo se ha guardado en una nueva versión:

$ git add file.txt

$ git commit -m "Cambié el texto"

[maestro 6d80a2a] cambié el texto

1 archivo modificado, 1 inserción (+), 1 eliminación (-)

$ git status

En el maestro de sucursal

nada que comprometerse, árbol de trabajo limpio

PS

Si su terminal comienza a estar demasiado abarrotada, puede escribir clear para liberar algo de espacio y hacerlo más atractivo visualmente. No te preocupes; ¡siempre puedes desplazarte hacia arriba y ver todo lo que escribiste antes!

Digamos que realmente quieres ver el cambio original; cuando agregaste "practicar git". Primero, obtenga el registro de todas las confirmaciones que ha realizado:

$ git log

commit 6d80a2ab7382c4d308de74c25669f16d1407372d (HEAD -> master)

Autor: sguthals

Fecha: dom 9 dic 08:54:11 2018-0800

Cambié el texto

confirmar 8d28a21f71ec5657a2f5421e03faad307d9eec6f

Autor: sguthals

Fecha: dom 9 dic 08:48:01 2018-0800

Agregar mi archivo a esta versión

PS

Luego, pídale a Git que le muestre el primer compromiso que hizo (el más bajo). Asegúrate de escribir tu hash de confirmación único. En estos ejemplos, el hash comienza con 8d28a2. Asegúrese de escribir todo el hash que aparece en su registro de Git:

En lugar de escribir todo el hash (y posiblemente tener un error tipográfico), puede resaltar el hash con el mouse, hacer clic con el botón derecho y elegir copiar, y luego, después de la comprobación de git, puede hacer clic con el botón derecho y elegir Pegar. Usar los atajos de teclado Ctrl + C o Comando -C no funciona

$ git show 8d28a21f71ec5657a2f5421e03faad307d9eec6f

cometer 8d28a21f71ec6567a2f5421e03faad307d9eec6f

Autor: sguthals

Fecha: dom 9 dic 08:48:01 2018-0800

Agregar mi archivo a esta versión

diff --git a / file.txt b / file.txt

nuevo modo de archivo 100644

índice 0000000..849a4c7

--- / dev / null

+++ b / file.txt

@@ -0,0 +1 @@

+ practicando git

PS

Puede ver que la práctica de git se agregó al archivo en esa confirmación original.

Para obtener más información sobre cómo usar git en la línea de comandos, consulte los siguientes recursos:

  • La hoja de trucos de GitHub Git La hoja de trucos de Visual Git La página de Git Docs

Hay otro par de recursos disponibles para aprender y comprender Git, que permiten a los usuarios de Windows experimentar un flujo de trabajo similar porque son visualizaciones alojadas en un sitio web. El primer enlace es un buen conjunto de ejercicios autoguiados, mientras que el segundo enlace se usa mejor para personas que tienen un conocimiento decente de Git y desean explorar lo que sucederá en diferentes escenarios, o para personas que tienen un usuario de Git más experto guiándolos.

Git ramificando por colaborador

Git es diferente de otros sistemas de control de versiones porque tiene una ramificación rápida, como se muestra en la siguiente figura. La ramificación es una función Git que esencialmente copia el código (cada rama es una copia del código), le permite realizar cambios en una copia específica y luego fusiona sus cambios nuevamente en la rama principal (maestra).

Ramas de git

Cuando escriba código, agregará archivos y confirmará los cambios en su rama maestra. La figura describe un flujo de trabajo específico donde dos personas están colaborando en el mismo archivo. La persona 1 crea una nueva rama llamada MyBranch y realiza algunos cambios en el archivo. La persona 2 también crea una nueva rama llamada YourBranch y realiza algunos cambios en el mismo archivo. Puede ver este cambio en el cuadro # 1.

Puede ver la diferencia (llamada diff) entre la rama maestra y MyBranch en el cuadro # 2.

Luego, la Persona 1 fusiona sus cambios con la rama maestra, como puede ver en el cuadro # 3.

La Persona 2 ha realizado sus propios cambios, pero antes de fusionarse, se asegurarán de tener la versión más actualizada de la rama maestra, que ahora tiene los cambios de la Persona 1. La diferencia se puede ver en el cuadro # 4. Observe qué texto hay en ambos archivos.

Finalmente, la Persona 2 reconoce que sus cambios sobrescribirán los cambios de la Persona 1 y fusiona sus cambios con el maestro, haciendo que la versión final tenga los cambios de la Persona 2. El Cuadro # 5 muestra esta fusión final, con la rama maestra teniendo los cambios finales.

La figura muestra solo un flujo de trabajo que puede existir cuando más de una persona está trabajando en el código y está destinado a describir la ramificación. Obtenga una descripción más detallada sobre Git y la ramificación.

Git ramificando por característica

Otra forma común de utilizar la ramificación es tener cada característica que desarrolle en una rama diferente, independientemente del colaborador que está creando la característica.

Puede ampliar la idea de ramificación por característica para tener también una rama que sea su rama de producción. Esta rama es lo que verán tus usuarios. Entonces puede tener una rama de desarrollo, que es una en la que puede fusionar características sin cambiar lo que ven sus usuarios.

Este tipo de ramificación le permite crear muchas características diferentes, fusionarlas en la rama de desarrollo, asegurarse de que todas funcionen de la manera deseada y luego fusionar la rama de desarrollo en la rama de producción cuando sepa que está lista para sus usuarios .

Git ramificando para la experimentación

También puede crear ramas para probar si algo funciona y luego tirar por completo la rama.

Este tipo de ramificación puede ser útil si desea probar un diseño completamente nuevo de un sitio web, por ejemplo. Puede crear tres ramas diferentes, cada una con un diseño diferente. Después de decidir qué diseño le gusta más, simplemente puede eliminar las otras dos ramas y fusionar la rama con su diseño favorito en maestro.