Lección 1 - Conceptos básicos de Git

Primer paso: ¿Qué es versionar código?

  • El versionado almacena todas las modificaciones realizadas en el código.
  • Permite acceder a versiones anteriores de cualquier archivo.
  • Garantiza el trabajo en equipo de manera eficiente.
  • Acciones útiles: regresar a una versión anterior de tu proyecto, comparar cambios, ver quien realizó y para que una modificación, recuperar archivos perdidos…. Y MUCHO MAS !

¿Cómo empezamos?

Opciones:

  • Creamos un repositorio local y luego lo publicamos en el servidor remoto
  • Creamos el repositorio en el servidor remoto y luego lo descargamos en nuestro directorio local.
  • Bajamos un repositorio existente desde el servidor remoto, mediante el comando: git clone <remote>

Comandos básicos:

Add

Sinopsis : git add

Descripción: Agrega el archivo o directorio al Staging Area.

Opciones:

  git add <file-path>
  git add -all
  git add -u
  git add .

Commit

Sinopsis: git commit

Descripción:
Agrega/guarda los cambios al repositorio local.

Opciones:

  git commit -m “Primer commit”
  git commit -am “Primer commit”
  git revert “hash_commit”

Pull

Sinopsis: git pull

Descripción: Actualiza el repositorio local con el repositorio remoto.

Opciones:

  git pull <remote>

Push

Sinopsis: git push

Descripción: Envía los cambios desde el repositorio local al repositorio remoto.

Opciones:

  git push 
  git push -- force

Ciclo de vida de los archivos mediante Git

El esquema muestra el ciclo de vida de los archivos mediante Git. El primer cuadro representa el estado “Sin versionar”, hay un segundo cuadro que simboliza el estado “Sin modificar”, un tercer cuadro que muestra el estado “Modificado” y por último un cuadro que representa el estado “Staged”. Entre los estados/cuadros hay flechas que simbolizan el cambio de estado.

Entre el cuadro “Sin versionar” y el cuadro “Staged” hay una flecha que se llama Add. Entre el cuadro “Sin modificar” y el cuadro “Modificado” hay una flecha que se llama “Editamos archivo”. Entre el cuadro “Modificado” y “Staged” hay una flecha que se llama “Commit”. Por último entre el cuadro “Staged” y el cuadro “Sin modificar” hay una flecha que se llama “Push”.

Para tener en cuenta :)

  • Ejecutar pull antes de hacer un push.

  • Quedarnos tranquilxs que Git gestiona los conflictos.

  • Siempre se puede volver a una versión anterior, solucionar, romper y volver a solucionar :)

¿Qué software necesitamos?

Para poder realizar todos los comandos que vimos antes, tenemos que tener instalados los siguientes softwares:

Git

Clientes de Git:

Este es un listado de guías sobre Git para que puedan incursionar mas en detalle sobre los comandos de git y los diferentes estados de un archivo:

LS0tDQp0aXRsZTogIkludHJvZHVjY2nDs24iDQpvdXRwdXQ6IA0KICBodG1sX2RvY3VtZW50Og0KICAgIGNvZGVfZG93bmxvYWQ6IHRydWUNCiAgICBoaWdobGlnaHQ6IHRhbmdvDQotLS0NCg0KIyMgTGVjY2nDs24gMSAtIENvbmNlcHRvcyBiw6FzaWNvcyBkZSBHaXQNCg0KIyMjIFByaW1lciBwYXNvOiDCv1F1w6kgZXMgdmVyc2lvbmFyIGPDs2RpZ28/DQoNCiogRWwgdmVyc2lvbmFkbyBhbG1hY2VuYSB0b2RhcyBsYXMgbW9kaWZpY2FjaW9uZXMgcmVhbGl6YWRhcyBlbiBlbCBjw7NkaWdvLg0KKiBQZXJtaXRlIGFjY2VkZXIgYSB2ZXJzaW9uZXMgYW50ZXJpb3JlcyBkZSBjdWFscXVpZXIgYXJjaGl2by4NCiogR2FyYW50aXphIGVsIHRyYWJham8gZW4gZXF1aXBvIGRlIG1hbmVyYSBlZmljaWVudGUuDQoqIEFjY2lvbmVzIMO6dGlsZXM6IHJlZ3Jlc2FyIGEgdW5hIHZlcnNpw7NuIGFudGVyaW9yIGRlIHR1IHByb3llY3RvLCBjb21wYXJhciBjYW1iaW9zLCB2ZXIgcXVpZW4gcmVhbGl6w7MgeSBwYXJhIHF1ZSB1bmEgbW9kaWZpY2FjacOzbiwgcmVjdXBlcmFyIGFyY2hpdm9zIHBlcmRpZG9z4oCmLiBZIE1VQ0hPIE1BUyAhIA0KDQoNCiMjIyDCv0PDs21vIGVtcGV6YW1vcz8NCg0KT3BjaW9uZXM6DQoNCiogQ3JlYW1vcyB1biByZXBvc2l0b3JpbyBsb2NhbCB5IGx1ZWdvIGxvIHB1YmxpY2Ftb3MgZW4gZWwgc2Vydmlkb3IgcmVtb3RvDQoqIENyZWFtb3MgZWwgcmVwb3NpdG9yaW8gZW4gZWwgc2Vydmlkb3IgcmVtb3RvIHkgbHVlZ28gbG8gZGVzY2FyZ2Ftb3MgZW4gbnVlc3RybyBkaXJlY3RvcmlvIGxvY2FsLg0KKiBCYWphbW9zIHVuIHJlcG9zaXRvcmlvIGV4aXN0ZW50ZSBkZXNkZSBlbCBzZXJ2aWRvciByZW1vdG8sIG1lZGlhbnRlIGVsIGNvbWFuZG86ICBgZ2l0IGNsb25lIDxyZW1vdGU+YA0KDQojIyMgQ29tYW5kb3MgYsOhc2ljb3M6IA0KDQojIyMjIEFkZA0KDQoqKlNpbm9wc2lzIDoqKiBgZ2l0IGFkZGANCg0KKipEZXNjcmlwY2nDs246KioNCkFncmVnYSBlbCBhcmNoaXZvIG8gZGlyZWN0b3JpbyBhbCBTdGFnaW5nIEFyZWEuDQoNCioqT3BjaW9uZXM6KioNCg0KYGBgIA0KICBnaXQgYWRkIDxmaWxlLXBhdGg+DQogIGdpdCBhZGQgLWFsbA0KICBnaXQgYWRkIC11DQogIGdpdCBhZGQgLg0KYGBgDQoNCiMjIyMgQ29tbWl0DQoNCioqU2lub3BzaXM6KiogYGdpdCBjb21taXRgIA0KDQoqKkRlc2NyaXBjacOzbjoqKiAgDQpBZ3JlZ2EvZ3VhcmRhIGxvcyBjYW1iaW9zIGFsIHJlcG9zaXRvcmlvIGxvY2FsLg0KDQoqKk9wY2lvbmVzOioqIA0KDQpgYGAgDQogIGdpdCBjb21taXQgLW0g4oCcUHJpbWVyIGNvbW1pdOKAnQ0KICBnaXQgY29tbWl0IC1hbSDigJxQcmltZXIgY29tbWl04oCdDQogIGdpdCByZXZlcnQg4oCcaGFzaF9jb21taXTigJ0NCmBgYCAgDQojIyMjIFB1bGwNCg0KKipTaW5vcHNpczoqKiBgZ2l0IHB1bGxgDQoNCioqRGVzY3JpcGNpw7NuOioqIA0KQWN0dWFsaXphIGVsIHJlcG9zaXRvcmlvIGxvY2FsIGNvbiBlbCByZXBvc2l0b3JpbyByZW1vdG8uDQoNCioqT3BjaW9uZXM6KiogDQpgYGANCiAgZ2l0IHB1bGwgPHJlbW90ZT4NCmBgYA0KDQojIyMjIFB1c2gNCg0KKipTaW5vcHNpczoqKiBgZ2l0IHB1c2hgDQoNCioqRGVzY3JpcGNpw7NuOioqIA0KRW52w61hIGxvcyBjYW1iaW9zIGRlc2RlIGVsIHJlcG9zaXRvcmlvIGxvY2FsIGFsIHJlcG9zaXRvcmlvIHJlbW90by4NCg0KKipPcGNpb25lczoqKiANCmBgYA0KICBnaXQgcHVzaCANCiAgZ2l0IHB1c2ggLS0gZm9yY2UNCmBgYA0KDQojIyMjIENpY2xvIGRlIHZpZGEgZGUgbG9zIGFyY2hpdm9zIG1lZGlhbnRlIEdpdA0KDQohW10oaW1nL2VzdGFkb3NhcmNoaXZvZ2l0LnBuZykNCg0KRWwgZXNxdWVtYSBtdWVzdHJhIGVsIGNpY2xvIGRlIHZpZGEgZGUgbG9zIGFyY2hpdm9zIG1lZGlhbnRlIEdpdC4gRWwgcHJpbWVyIGN1YWRybyByZXByZXNlbnRhIGVsIGVzdGFkbyBf4oCcU2luIHZlcnNpb25hcuKAnV8sIGhheSB1biBzZWd1bmRvIGN1YWRybyBxdWUgc2ltYm9saXphIGVsIGVzdGFkbyBf4oCcU2luIG1vZGlmaWNhcuKAnV8sIHVuIHRlcmNlciBjdWFkcm8gcXVlIG11ZXN0cmEgZWwgZXN0YWRvIF/igJxNb2RpZmljYWRv4oCdXyB5IHBvciDDumx0aW1vIHVuIGN1YWRybyBxdWUgcmVwcmVzZW50YSBlbCBlc3RhZG8gXyJTdGFnZWQiXy4gRW50cmUgbG9zIGVzdGFkb3MvY3VhZHJvcyBoYXkgZmxlY2hhcyBxdWUgc2ltYm9saXphbiBlbCBjYW1iaW8gZGUgZXN0YWRvLiANCg0KRW50cmUgZWwgY3VhZHJvIF/igJxTaW4gdmVyc2lvbmFy4oCdXyB5IGVsIGN1YWRybyBf4oCcU3RhZ2Vk4oCdXyBoYXkgdW5hIGZsZWNoYSBxdWUgc2UgbGxhbWEgX0FkZF8uIEVudHJlIGVsIGN1YWRybyBf4oCcU2luIG1vZGlmaWNhcuKAnV8geSBlbCBjdWFkcm8gX+KAnE1vZGlmaWNhZG/igJ1fIGhheSB1bmEgZmxlY2hhIHF1ZSBzZSBsbGFtYSBf4oCcRWRpdGFtb3MgYXJjaGl2b+KAnV8uIEVudHJlIGVsIGN1YWRybyBf4oCcTW9kaWZpY2Fkb+KAnV8geSBf4oCcU3RhZ2Vk4oCdXyBoYXkgdW5hIGZsZWNoYSBxdWUgc2UgbGxhbWEgX+KAnENvbW1pdOKAnV8uIFBvciDDumx0aW1vIGVudHJlIGVsIGN1YWRybyBf4oCcU3RhZ2Vk4oCdXyB5IGVsIGN1YWRybyBf4oCcU2luIG1vZGlmaWNhcuKAnV8gaGF5IHVuYSBmbGVjaGEgcXVlIHNlIGxsYW1hIF/igJxQdXNo4oCdXy4NCg0KIyMjIFBhcmEgdGVuZXIgZW4gY3VlbnRhIDopDQoNCiogRWplY3V0YXIgX3B1bGxfIGFudGVzIGRlIGhhY2VyIHVuIF9wdXNoXy4NCg0KKiBRdWVkYXJub3MgdHJhbnF1aWx4cyBxdWUgR2l0IGdlc3Rpb25hIGxvcyBjb25mbGljdG9zLg0KDQoqIFNpZW1wcmUgc2UgcHVlZGUgdm9sdmVyIGEgdW5hIHZlcnNpw7NuIGFudGVyaW9yLCBzb2x1Y2lvbmFyLCByb21wZXIgeSB2b2x2ZXIgYSBzb2x1Y2lvbmFyIDopDQoNCiMjIyDCv1F1w6kgc29mdHdhcmUgbmVjZXNpdGFtb3M/DQoNClBhcmEgcG9kZXIgcmVhbGl6YXIgdG9kb3MgbG9zIGNvbWFuZG9zIHF1ZSB2aW1vcyBhbnRlcywgdGVuZW1vcyBxdWUgdGVuZXIgaW5zdGFsYWRvcyBsb3Mgc2lndWllbnRlcyBzb2Z0d2FyZXM6DQoNCiogw5psdGltYSB2ZXJzacOzbiBkZSBSOiBodHRwczovL2Nsb3VkLnItcHJvamVjdC5vcmcvDQoqIMOadGltYSB2ZXJzacOzbiBwcmV2aWV3IGRlIFJTdHVkaW86IGh0dHBzOi8vd3d3LnJzdHVkaW8uY29tL3Byb2R1Y3RzL3JzdHVkaW8vZG93bmxvYWQvcHJldmlldy8NCg0KIyMjIyBHaXQNCg0KKiBHaXQgcGFyYSBXaW5kb3dzOiBodHRwczovL2dpdGZvcndpbmRvd3Mub3JnLw0KKiBHaXQgcGFyYSBtYWNPUzogaHR0cDovL2dpdC1zY20uY29tL2Rvd25sb2FkcyANCiogR2l0IHBhcmEgTGludXg6IA0KICAtIFVidW50dSBvIERlYmlhbiBMaW51eDogIHN1ZG8gYXB0LWdldCBpbnN0YWxsIGdpdA0KICAtIEZlZG9yYSBvIFJlZEhhdCBMaW51eDogc3VkbyB5dW0gaW5zdGFsbCBnaXQNCg0KIyMjIyBDbGllbnRlcyBkZSBHaXQ6DQoNCiogR2l0S3Jha2VuOiBodHRwczovL3d3dy5naXRrcmFrZW4uY29tLw0KDQoqIEdpdEh1YiBEZXNrdG9wOiBodHRwczovL2Rlc2t0b3AuZ2l0aHViLmNvbS8gDQoNCiogR2l0aHViOiBodHRwczovL2dpdGh1Yi5jb20vIA0KDQpFc3RlIGVzIHVuIGxpc3RhZG8gZGUgZ3XDrWFzIHNvYnJlIEdpdCBwYXJhIHF1ZSBwdWVkYW4gaW5jdXJzaW9uYXIgbWFzIGVuIGRldGFsbGUgc29icmUgbG9zIGNvbWFuZG9zIGRlIGdpdCB5IGxvcyBkaWZlcmVudGVzIGVzdGFkb3MgZGUgdW4gYXJjaGl2bzogDQoNCiogaHR0cHM6Ly9ib29rLmdpdC1zY20uY29tLw0KKiBodHRwczovL3d3dy5hdGxhc3NpYW4uY29tL2VzL2dpdC90dXRvcmlhbHMvbGVhcm4tZ2l0LXdpdGgtYml0YnVja2V0LWNsb3VkDQoqIGh0dHA6Ly9tYXJrbG9kYXRvLmdpdGh1Yi5pby92aXN1YWwtZ2l0LWd1aWRlL2luZGV4LWVuLmh0bWw=