5 comandos de Git que debe conocer, con ejemplos de código

He usado Git durante algunos años y todavía me encuentro buscando en Google cómo hacer algunas tareas básicas. Así que este artículo es mi intento de aprender cómo hacer algunas de estas cosas escribiendo sobre ellas. E incluso si todavía lo olvido, al menos tendré una referencia donde puedo encontrar fácilmente estos comandos, y tú también lo harás.

Antes de seguir adelante para aprender estas cosas, algo que un colega mío dijo una vez se me quedó grabado. Me dijo que todo es posible con Git y que en Git no se pierde nada.

No sé si la primera parte de su afirmación es completamente cierta, pero la tengo en cuenta cada vez que intento hacer algo con Git. Creo que voy a encontrar un comando que me ayude a hacer lo que tengo que hacer. Solo tengo que buscar en Google las palabras adecuadas. Si eres nuevo en Git, quiero que también lo creas.

En este artículo, aprenderemos cómo hacer lo siguiente:

  1. Agregar repositorios remotos
  2. Cambiar repositorios remotos
  3. Eliminar una rama
  4. Fusionar un archivo de una rama a otra
  5. Deshacer una confirmación de forma local y remota

Aunque este artículo está destinado a personas con conocimientos básicos de Git, haré todo lo posible para explicar los términos tanto como sea posible.

1. Agregar repositorios remotos

Los repositorios remotos son versiones de sus proyectos que se almacenan en Internet o en otro lugar. Agregar un repositorio remoto es una forma de decirle a Git dónde está almacenado su código.

Podemos hacer esto usando la URL del repositorio. Esta podría ser la URL de su repositorio, la bifurcación de otro usuario o incluso un servidor completamente diferente.

Cuando clonas un repositorio, Git agrega implícitamente ese repositorio como el origincontrol remoto para ti. Para agregar un nuevo repositorio de Git, usa este comando:

git remote add  

donde shortnamees un nombre remoto único y urles la URL del repositorio que desea agregar.

Por ejemplo, si quiero agregar un repositorio con el nombre corto upstream, puedo hacer esto:

git remote add upstream //github.com/sarahchima/personal-website.git

Recuerda que tu shortnamepuede ser cualquier cosa, solo tiene que ser único, que sea diferente a los nombres de los repositorios remotos que ya tienes. También debe ser algo que pueda recordar fácilmente para su cordura.

Para ver la lista de URL remotas que ha agregado, ejecute el siguiente comando:

git remote -v

Verá una lista de los nombres remotos y las URL que ha agregado.

Pero, ¿qué pasa si desea cambiar estas URL remotas? Pasemos al siguiente comando de Git.

2. Cambiar repositorios remotos

Hay varias razones por las que es posible que desee cambiar una URL remota. Por ejemplo, recientemente tuve que pasar de usar httpsURL a SSHURL para un proyecto en el que trabajé.

Para hacer esto, usa el siguiente comando:

git remote set-url  

Para que este comando funcione, el nombre remoto debe ser un nombre remoto existente. Eso significa que no funcionará si no ha agregado ese nombre remoto antes.

Usando el ejemplo anterior, si quiero cambiar la URL remota, haré esto:

git remote set-url upstream [email protected]:sarahchima/personal-website.git

Recuerde ejecutar git remote -vpara verificar que su cambio funcionó.

Ya basta de repositorios remotos. Pasemos a algo diferente.

3. Eliminar una sucursal tanto de forma local como remota

Una rama es una versión del repositorio que es diferente del proyecto de trabajo principal. Es posible que desee leer sobre las ramas de Git y cómo agregar una rama si no está familiarizado con ese proceso.

Cómo eliminar una sucursal local

Para eliminar una rama localmente, asegúrese de no estar en la rama que desea eliminar. Por lo tanto, debe realizar el pago en una rama diferente y usar el siguiente comando:

git branch -d 

Entonces, si quiero eliminar una rama llamada fix/homepage-changes, haré lo siguiente:

git branch -d fix/homepage-changes

Puede ejecutar git branchen su terminal para confirmar que la rama se ha eliminado correctamente.

A veces, es posible que deba eliminar una rama que ya haya enviado a un repositorio remoto. ¿Cómo puedes hacer esto?

Cómo eliminar una rama remota

Para eliminar una rama de forma remota, utilice el siguiente comando:

git push  --delete 

donde remote-namees el nombre del repositorio remoto del que desea eliminar la rama.

Si quiero eliminar la rama fix/homepage-changesde origin, haré esto:

git push origin --delete fix/homepage-changes

La rama se eliminará de forma remota ahora.

4. Fusionar un archivo de una rama a otra

A veces, es posible que desee fusionar el contenido de un archivo específico en una rama en otra. Por ejemplo, desea fusionar el contenido de un archivo index.htmlen la masterrama de un proyecto en la developmentrama. Como puedes hacer eso?

Primero, vaya a la rama derecha (la rama en la que desea fusionar el archivo) si aún no lo ha hecho. En nuestro caso, es la developmentrama.

git checkout development

Luego, combine el archivo usando el comando checkout --patch.

git checkout --patch master index.html

Si desea sobrescribir completamente el index.htmlarchivo de la developmentrama con el de la masterrama, omita la --patchbandera.

git checkout master index.html

Además, omita la --patchbandera si el index.htmlarchivo no existe en la developmentrama.

5. Deshacer una confirmación

Hay ocasiones en las que ha cometido sus cambios de forma incorrecta y desea deshacer esta confirmación. A veces, es posible que incluso haya enviado los cambios a una rama remota. ¿Cómo deshaces o eliminas esta confirmación? Comencemos por deshacer una confirmación local.

Cómo deshacer una confirmación local

Una forma de deshacer una confirmación localmente es usando git reset. Por ejemplo, si desea deshacer la última confirmación realizada, puede ejecutar este comando:

git reset --soft HEAD~1

La --softbandera conserva los cambios que ha realizado en los archivos que confirmó, solo se revierte la confirmación. Sin embargo, si no desea conservar los cambios realizados en los archivos, puede usar la --hardbandera de esta manera:

git reset --hard HEAD~1

Tenga en cuenta que debe usar la --hardbandera solo cuando esté seguro de que no necesita los cambios.

Además, tenga en cuenta que HEAD~1apunta a la última confirmación. Si desea deshacer una confirmación antes de eso, puede usar git reflogpara obtener un registro de todas las confirmaciones anteriores. Luego use el git resetcomando con el hash de confirmación (el número que obtiene al comienzo de cada línea del historial). Por ejemplo, si mi hash de confirmación es 9157b6910, haré esto

git reset --soft 9157b6910 

Cómo deshacer una confirmación remota

Hay ocasiones en las que desea deshacer una confirmación que ha enviado a un repositorio remoto. Puede usar git revertpara deshacerlo localmente y enviar este cambio a la rama remota.

Primero, obtenga el hash de confirmación usando git reflog.

git reflog

Entonces reviértalo. Suponiendo que mi hash de confirmación es 9157b6910, haré lo siguiente:

git revert 9157b6910 

Finalmente, envíe este cambio a la rama remota.

Resumen

En este artículo, discutimos los comandos para hacer lo siguiente en Git:

  1. Agregar repositorios remotos
  2. Cambiar repositorios remotos
  3. Eliminar una rama
  4. Fusionar un archivo de una rama a otra
  5. Deshacer una confirmación de forma local y remota

Tal vez algún día escriba sobre más cosas que puedes hacer con Git.

Espero que hayas disfrutado el artículo. Gracias por leer.

¿Quieres recibir una notificación cuando publique un artículo nuevo? Haga clic aquí.