Herramientas de usuario

Herramientas del sitio


code:git

Diferencias

Muestra las diferencias entre dos versiones de la página.

Enlace a la vista de comparación

Ambos lados, revisión anterior Revisión previa
Próxima revisión
Revisión previa
code:git [2013/09/05 09:59]
alfred [Conceptos]
code:git [2020/05/09 09:25] (actual)
Línea 1: Línea 1:
 ====== GIT ====== ====== GIT ======
 ===== Conceptos ===== ===== Conceptos =====
-El **working tree** ​[...]+El **working tree** ​es el directorio de trabajo, donde se crea un repositorio.
  
 Un **commit** es la actualización del registro local en la máquina; los commits se identifican por un hash. A un commit se le puede asignar una **tag** que es un alias. Un **commit** es la actualización del registro local en la máquina; los commits se identifican por un hash. A un commit se le puede asignar una **tag** que es un alias.
Línea 8: Línea 8:
  
 {{:​code:​git:​mgav9.png?​direct&​400|}} {{:​code:​git:​mgav9.png?​direct&​400|}}
 +
 +Una **branch** es una copia del master desde la cual trabajar. Para fusionar dos branches se hace un **merge**.
 +
 +Un repositorio **remote** consiste en un repositorio que no está en máquina local. ​
 +
 +**origin** es una keyword que indica el repositorio inicial (donde se recogieron los archivos, donde se empezó a guardar...).
 ===== Uso ===== ===== Uso =====
 +==== Clone ====
 +Obtener un repositorio externo:
 +<​code>​
 +$ git clone <​ruta>​
 +</​code>​
 +Obtener un repositorio usando con otro nombre en local:
 +<​code>​
 +$ git clone git://​github.com/​schacon/​grit.git otro_nombre
 +</​code>​
 +Obtener una branch concreta de un repsitorio:
 +<​code>​
 +$ git clone git://​github.com/​schacon/​grit.git -b dev
 +</​code>​
 +
 ==== Ficheros ==== ==== Ficheros ====
 === Borrado === === Borrado ===
Línea 23: Línea 43:
 $ git rm -r --cached folderName $ git rm -r --cached folderName
 </​code>​ </​code>​
- 
 ==== Commits ==== ==== Commits ====
 Indicar el commit con el comentario directamente:​ Indicar el commit con el comentario directamente:​
Línea 32: Línea 51:
 <​code>​ <​code>​
 $ git commit -a -m "​commit message"​ $ git commit -a -m "​commit message"​
 +</​code>​
 +==== Push ====
 +Para subir unos cambios registrados en local al servidor:
 +<​code>​
 +$ git push repo_name branch_name
 </​code>​ </​code>​
 ==== Tags ==== ==== Tags ====
Línea 58: Línea 82:
 $ git tag -d my_tag $ git tag -d my_tag
 </​code>​ </​code>​
-===== Workflow ===== +==== Branches ​==== 
-===== Notas =====+Antes de hacer una branch actualiza el master (pull).
  
 +Crear una branch: ​
 +<​code>​
 +$ git branch my_branch
 +</​code>​
 +Subir la branch a un repositorio externo:
 +<​code>​
 +$ git push origin my_branch
 +</​code>​
 +Cambiar de branch:
 +<​code>​
 +$ git checkout my_branch
 +</​code>​
 +Saber qué branch es la tuya actual (la que tiene estrella):
 +<​code>​
 +$ git branch ​
 +</​code>​
 +También podemos:
 +  * ''​git branch -a'',​ ver todas las branches, las remotas también.
 +  * ''​git branch -v'',​ ver más información sobre las branches.
 +
 +Eliminar una branch localmente:
 +<​code>​
 +$ git branch -d the_local_branch
 +</​code>​
 +
 +Eliminar una branch remota:
 +<​code>​
 +$ git push origin --delete the_remote_branch
 +</​code>​
 +
 +Eliminar una branch remota (alternativa):​
 +<​code>​
 +$ git push origin :​the_remote_branch
 +</​code>​
 +
 +Unir tu branch al repositorio:​
 +<​code>​
 +$ git merge master
 +</​code>​
 +Eliminar una branch del working tree:
 +<​code>​
 +$ git branch -d my_branch
 +</​code>​
 +==== Merge de branches ====
 +=== Forzar\sobreescribir ===
 +Cuando quieras forzar un merge de una branch te pondrás en la destino (''​checkout''​) y harás:
 +<​code>​
 +$ git merge -X <​opcion>​ <​branch>​
 +</​code>​
 +Donde la opción puede ser ''​ours''​ o ''​theirs''​ según la versión que se prefiera en caso de conflicto (ours para la versión de la branch actual y theirs para la de la que quieres hacer merge).
 +
 +===== Versiones =====
 +Para volver temporalmente a una versión anterior
 +<​code>​
 +$ git checkout <​id_commit>​
 +</​code>​
 +
 +===== Workflows =====
 +==== El tuyo ====
 +=== GitHub ===
 +Obtener un repsitorio:
 +<​code>​
 +$ git clone https://​github.com/​ElectronicStars/​Hindbrain
 +</​code>​
 +Actualizar el repositorio:​
 +<​code>​
 +$ git add .
 +$ git commit -a
 +$ git push
 +</​code>​
 +Subir a una branch que no existe en GitHub o que es distinta a la master:
 +<​code>​
 +$ git push origin my_branch
 +</​code>​
 +===== Administración de repositorios =====
 +===== Git Avanzado =====
 +===== Notas =====
 +==== Recursos ====
 +=== Tutoriales ===
 +  * [[http://​gitimmersion.com/​|Git Immersion]]
code/git.1378375143.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)