<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mario Monroy Canizales</title>
    <description>The latest articles on DEV Community by Mario Monroy Canizales (@mmonroy_).</description>
    <link>https://dev.to/mmonroy_</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F510125%2Fa047a166-97dd-4808-8f74-b093e76a0c59.jpg</url>
      <title>DEV Community: Mario Monroy Canizales</title>
      <link>https://dev.to/mmonroy_</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/mmonroy_"/>
    <language>en</language>
    <item>
      <title>Guía Git</title>
      <dc:creator>Mario Monroy Canizales</dc:creator>
      <pubDate>Thu, 01 Apr 2021 00:49:40 +0000</pubDate>
      <link>https://dev.to/mmonroy_/guia-git-5457</link>
      <guid>https://dev.to/mmonroy_/guia-git-5457</guid>
      <description>&lt;h1&gt;
  
  
  Guía Básica Git
&lt;/h1&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;a href="https://git-scm.com/"&gt;Git &lt;/a&gt;es el sistema de control de versiones distribuidas de código abierto que facilita las actividades de &lt;a href="https://github.com/"&gt;GitHub&lt;/a&gt; en su computadora portátil o escritorio. Esta hoja de trucos resume las instrucciones de línea de comando de Git utilizadas comúnmente para referencia rápida.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;ul&gt;
&lt;li&gt;
Guía Básica Git

&lt;ul&gt;
&lt;li&gt;CONFIGURACIONES INICIALES&lt;/li&gt;
&lt;li&gt;INICIALIZAR REPOSITORIO&lt;/li&gt;
&lt;li&gt;AGREGAR ORIGEN DE REPOSITORIO&lt;/li&gt;
&lt;li&gt;AGREGAR, MODIFICAR Y CONFIRMAR CAMBIOS&lt;/li&gt;
&lt;li&gt;HISTORIAL DE COMMITS&lt;/li&gt;
&lt;li&gt;VIAJES EN EL TIEMPO&lt;/li&gt;
&lt;li&gt;CAMBIAR NOMBRES DE ARCHIVOS CON GIT&lt;/li&gt;
&lt;li&gt;IGNORANDO ARCHIVO (.gitignore)&lt;/li&gt;
&lt;li&gt;RAMAS&lt;/li&gt;
&lt;li&gt;TAGS Y ETIQUETAS&lt;/li&gt;
&lt;li&gt;GIT STASH&lt;/li&gt;
&lt;li&gt;EMPUJANDO LOS CAMBIOS&lt;/li&gt;
&lt;li&gt;GIT PULL Y GIT FETCH&lt;/li&gt;
&lt;li&gt;ERROR AL AGREGAR ARCHIVOS&lt;/li&gt;
&lt;/ul&gt;


&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  CONFIGURACIONES INICIALES
&lt;/h2&gt;

&lt;p&gt;Para más información puedes ver la documentación &lt;a href="https://git-scm.com/doc"&gt;&lt;strong&gt;aquí.&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Configura la información del usuario para todos los repositorios locales.&lt;/p&gt;

&lt;p&gt;Establece el nombre que desea adjuntar a sus commits.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global user.name "nombre_usuario"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Establece el correo electrónico que desea adjuntar a sus commits.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global user.email "correo_electronico"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  INICIALIZAR REPOSITORIO
&lt;/h2&gt;

&lt;p&gt;Inicializa un nuevo repositorio en el directorio donde se encuentre ubicado o uno con un nombre específico.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git init
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Descarga un proyecto y con él todo su historial de versiones.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone [url]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Clonar un proyecto con un nombre alternativo&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git clone git://github.com/schacon/grit.git my_nuevo_proyecto
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  AGREGAR ORIGEN DE REPOSITORIO
&lt;/h2&gt;

&lt;p&gt;Existen dos formas para agregar el origen de un repositorio.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt; Por medio de https:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote add origin https://github.com/nombre/hold1.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ol&gt;
&lt;li&gt; Por medio de ssh:
&lt;/li&gt;
&lt;/ol&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote add origin git@github.com:nombre/hold1.git
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para ver una descripción de la configuración global puede utilizar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git config --global -l
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ver los repositorios remotos configurados.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote -v
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si desea cambiar el repositorio remoto, antes debe quitar los que ya tiene inicializados esto lo puede realizar con el comando.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote rm origin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  AGREGAR, MODIFICAR Y CONFIRMAR CAMBIOS
&lt;/h2&gt;

&lt;p&gt;Ver las ediciones, cambios.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git status
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Otra forma de ver el estado.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git status -s
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Pero también podemos ver más detalles del estado.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git status -s -b
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;En caso existan archivos por agregar, hay que agregarlos a la cola de archivos para comprometer. Este es el “staging area” o área de presentación. Es importante agregar archivos aca, previo a hacer un commit. Aquí agregamos todo, esto lo hacemos con los siguientes comandos y las diferentes opciones.&lt;/p&gt;

&lt;p&gt;Este comando agrega todos los archivos modificados.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;También podemos agregar archivos individualmente.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add nombre_archivo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Podemos agregar la cantidad de archivos que queramos con determinada extensión, esto aplica para los archivos en el mismo directorio.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add *.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para agregar todos los archivos con especifica extensión no importando el directorio en el que se encuentren utilizamos lo siguiente.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add "*.js"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agregar todos los archivos de un especifico directorio.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add public/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agregar todos los archivos que hayan sido modificados.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add -A
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Excluir un archivo del stage.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reset *.json
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agregar todos los archivos, se parece al comando &lt;code&gt;**git add .**&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add --all
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si no sabe cuáles cambios han sido agregados al área de (add .) y desea ver cuales son las diferencias existentes en el área de presentación y los archivos que usted ha trabajado, entonces use el siguiente comando que muestra las diferencias.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git diff
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Luego agregados todos los archivos, podemos comprometerlos, la bandera -a (para agregar archivos con cambios y quitar los archivos borrados del índice local) y -m (de mensaje) agregando un comentario entre comillas que sirva de referencia.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit -am "Mi Primer Commit"ogit commit -m "Mi Primer Commit" (Recomendado)ogit commit
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si solamente utilizar el comando &lt;code&gt;git commit&lt;/code&gt; se abrirá un editor vim allí puedes editar tu mensaje.&lt;/p&gt;

&lt;p&gt;Si por alguna razón cometes un error en el mensaje del commit, no hay problema esto se puede resolver con el siguiente comando que permite modificar el mensaje del commit.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git commit --amend -m "Mensaje Corregido"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  HISTORIAL DE COMMITS
&lt;/h2&gt;

&lt;p&gt;Para ver el listado de commits.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ver una descripción resumida de los commits.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log --oneline
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Una descripción más detallada.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git log --oneline --decorate --all --graph
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si queremos ver el log aunque hayamos realizado un&lt;code&gt;reset --hard&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reflog
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  VIAJES EN EL TIEMPO
&lt;/h2&gt;

&lt;p&gt;Restaurar hacia el último cambio para hacer un nuevo commit corregido.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reset --soft HEAD^
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si queremos regresar hacia un punto en específico del historial de cambios en el repositorio podemos utilizar.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reset --mixed [número-hash]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esta opción restaura hacia determinado commit, pero aún mantiene los archivos que hayamos estado trabajando después de ese commit.&lt;/p&gt;

&lt;p&gt;La forma recomenda a utilizar es:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git reset --hard [número-hash]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esta opción nos permite restaurar hacia un punto en específico, descartando todos los cambios que hayamos hecho después de ese commit.&lt;/p&gt;

&lt;p&gt;Para recuperar los últimos cambios realizados tras un posible error o pérdida de código puede ejecutar lo siguiente comando, este permite recuperar la información del último commit registrado.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout -- .
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si desea recuperar los últimos cambios registrados de un archivo en especifico.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout -- nombre_archivo
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  CAMBIAR NOMBRES DE ARCHIVOS CON GIT
&lt;/h2&gt;

&lt;p&gt;Cuando cambiamos el nombre de un archivo manualmente, git puede detectar como si fuera un archivo nuevo, para evitar esto utilizamos lo siguiente:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git mv nombre_script.py nombre_nuevo_script.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esto permite que git lleve el registro sobre el mismo archivo y que únicamente detecte que se renombro.&lt;/p&gt;

&lt;p&gt;Otra recomendación para cuando se elimina un archivo y para que git lleve un correcto registro podemos hacer los siguiente después de eliminar los n archivos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git add -u
git add -A
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  IGNORANDO ARCHIVO (.gitignore)
&lt;/h2&gt;

&lt;p&gt;Si deseamos que git no reconozca ciertos archivos o carpetas, solamente debemos crear un nuevo archivo llamado &lt;code&gt;.gitignore&lt;/code&gt; en la raíz del proyecto, donde en cada línea podemos ir agregando que archivos queremos ignorar. Ejemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;*.DS_Store
*.pyc
*.egg-info
*.swp
tags/
mi_proyecto/docs/
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  RAMAS
&lt;/h2&gt;

&lt;p&gt;Crear una rama.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch nombre_rama
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;O puede utilizar el siguiente comando que permite crear una rama y switchear a la misma.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout -b nombre_rama
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ver listado de ramas y listado completo.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branchogit branch -a
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Cambiar de rama.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git checkout nombre_rama
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ver diferencias entre ramas. En este ejemplo, es la diferencia entre la rama nueva y la rama master.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git diff rama_nueva master
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Fusionar ramas, esto se debe hacer desde la rama master.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git merge nombre_rama
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Eliminar una rama.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch -d nombre_rama
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Eliminar rama de forma forzada.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git branch -D nombre_rama
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Después de haber eliminado las ramas locamente puede limpiar el registro de nuevo, para que ya no aparezcan en el repositorio remoto, esto es opcional.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote prune origin
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  TAGS Y ETIQUETAS
&lt;/h2&gt;

&lt;p&gt;Los tags, etiquetas nos permiten crear descripciones para ciertos releases, por ejemplo para una versión de aplicación.&lt;/p&gt;

&lt;p&gt;Crear un tag.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git tag release-v1
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ver el listado de tags.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git tag
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Eliminar un tag.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git tag -d nombre-tag
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Forma Correcta para crear un &lt;strong&gt;release&lt;/strong&gt; (&lt;strong&gt;-a&lt;/strong&gt; = anotación).&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git tag -a v1.0.0 -m "Mensaje descriptivo de la versión"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Crear un tag o release para cualquier punto en el historial de nuestra proyecto.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git tag -a v1.0.0 [numero-hash] -m "Mensaje"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ejemplo:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git tag -a v1.0.0 ca82a6d -m "Versión Producción"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ver informacion sobre un tag.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git tag show nombre_tag
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  GIT STASH
&lt;/h2&gt;

&lt;p&gt;Git stash nos permite dejar lo que estamos trabajando en un punto, para enfocarnos en otro punto para luego recuperar lo que no terminamos.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stashogit stash save
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Agregando mensajes a los stash, ya podemos tener más de un stash.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash save "Mensaje"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ver informacion de los stash.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash list

git stash list --stat

git stash show
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Recuperar un stash, esto extrae el último stash registrado con sus respectivos datos, cuando se ejecuta recupera el último stash y lo elimina, como si fuera de una pila.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash pop
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Tambien podemos utilizar apply.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash apply

o

git stash apply [hash]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Si ya no vamos a utilizar un stash, hay que eliminarlo! Después de esto hay que verificarlo viendo el listado usando cualquiera de los comandos anteriores.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git stash drop

o

git stash drop [hash]
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  EMPUJANDO LOS CAMBIOS
&lt;/h2&gt;

&lt;p&gt;Ahora empujemos los cambios a nuestro repositorio en GitHub, esto lo hacemos con:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push -u origin master
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;La bandera -u nos permite indicar a que rama queremos hacer el push, para que la proxima vez podamos solamente utilizar&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;o bien puedes utilizar.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push origin master
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Hacer Push de Tags&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git push --tags
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  GIT PULL Y GIT FETCH
&lt;/h2&gt;

&lt;p&gt;Git pull nos permite sincronizar los cambios remotos con los cambios locales, cuando se utiliza git pull este automaticamente hacer merge los cambios remotos con los datos que tengamos en local.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git pull origin master

o

git pull

y en caso no funcionen los comandos anteriores

git pull --all
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Git Fetch nos permite actualizar nuestro repositorio local con los cambios realizados en el repositorio remoto.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git fetch
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Para ver los cambios, actualizaciones de un repositorio forkeado de algun compañero podemos utilizar.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;git remote add upstream &amp;lt;repositorio_original&amp;gt;

git fetch upstream
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  ERROR AL AGREGAR ARCHIVOS
&lt;/h2&gt;

&lt;p&gt;Puede ocurrir el error que git no nos permita agregar archivos, esto lo podemos solucionar con.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;rm -f ./.git/index.lock
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Esto eliminará de forma forzada el archivo index.lock lo cual provoca el error.&lt;/p&gt;

</description>
      <category>github</category>
      <category>git</category>
    </item>
  </channel>
</rss>
