ℹ️ Skipped - page is already crawled
| Filter | Status | Condition | Details |
|---|---|---|---|
| HTTP status | PASS | download_http_code = 200 | HTTP 200 |
| Age cutoff | PASS | download_stamp > now() - 6 MONTH | 0.1 months ago |
| History drop | PASS | isNull(history_drop_reason) | No drop reason |
| Spam/ban | PASS | fh_dont_index != 1 AND ml_spam_score = 0 | ml_spam_score=0 |
| Canonical | PASS | meta_canonical IS NULL OR = '' OR = src_unparsed | Not set |
| Property | Value |
|---|---|
| URL | https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Ramificar-y-Fusionar |
| Last Crawled | 2026-04-13 22:45:33 (2 days ago) |
| First Indexed | 2021-10-22 09:42:41 (4 years ago) |
| HTTP Status Code | 200 |
| Meta Title | Git - Ramificar y Fusionar |
| Meta Description | null |
| Meta Canonical | null |
| Boilerpipe Text | Hay sólo un puñado de comandos que implementan la mayor parte de la funcionalidad de ramificación y fusión en Git.
git branch
El comando
git branch
es en realidad una especie de herramienta de gestión de ramas. Puede listar las ramas que tienes, crear una nueva rama, eliminar ramas y cambiar el nombre de las ramas.
La mayor parte de
[ch03-git-branching]
está dedicada al comando
branch
y es utilizado a lo largo de todo el capítulo. En primer lugar, lo introducimos en
Crear una Rama Nueva
y examinamos la mayor parte de sus otras características (listar y borrar) en
Gestión de Ramas
.
Finalmente, examinamos algo de lo que hace en segundo plano en
Referencias Git
.
git checkout
El comando
git checkout
se usa para cambiar de rama y revisar el contenido de tu directorio de trabajo.
En primer lugar, encontramos el comando en
Cambiar de Rama
junto con el comando
git branch
.
Lo usamos para reintroducir los conflictos de archivos con
--conflict=diff3
en
Revisando Los Conflictos
.
Finalmente, examinamos algún detalle de implementación en
La CABEZA (HEAD)
.
git merge
La herramienta
git merge
se utiliza para fusionar uno o más ramas dentro de la rama que tienes activa. A continuación avanzará la rama actual al resultado de la fusión.
El comando
git merge
fue introducido por primera en
Procedimientos Básicos de Ramificación
. A pesar de que se utiliza en diversos lugares en el libro, hay muy pocas variaciones del comando
merge
— en general, sólo
git merge <branch>
con el nombre de la rama individual que se desea combinar.
Cubrimos cómo hacer una fusión aplastada (squashed merge) (donde Git fusiona el trabajo, pero finge como si fuera simplemente un nuevo commit sin registrar la historia de la rama que se está fusionando) al final de
Proyecto público bifurcado
.
Repasamos mucho sobre el proceso de fusión y dirección, incluyendo el comando
-Xignore-all-whitespace
y el indicador
--abort
para abortar un problema de fusión en
Fusión Avanzada
.
Aprendimos cómo verificar las firmas antes de la fusión si tu proyecto está usando fimas GPG en
Firmando Commits
.
git mergetool
El comando
git mergetool
simplemente lanza un ayudante de fusión externo en caso de tener problemas con una combinación en Git.
git log
El comando
git log
se utiliza para mostrar la historia registrada alcanzable de un proyecto desde la más reciente instantánea confirmada hacia atrás. Por defecto sólo se mostrará la historia de la rama en la que te encuentres, pero pueden ser dadas diferentes e incluso múltiples cabezas o ramas desde la que hacer el recorrido. También se utiliza a menudo para mostrar las diferencias entre dos o más ramas a nivel de commit.
Este comando se utiliza en casi todos los capítulos del libro para mostrar la historia de un proyecto.
Introducimos el comando y lo cubrimos con cierta profundidad en
Ver el Historial de Confirmaciones
. Allí vemos las opciones
-p
y
--stat
para tener una idea de lo que fue introducido en cada commit y las opciones
--pretty
y
--oneline
para ver el historial de forma más concisa, junto con unas simples opciones de filtrado de fecha y autor.
En
Crear una Rama Nueva
lo utilizamos con la opción
--decorate
para visualizar fácilmente donde se encuentran nuestros punteros de rama y también utilizamos la opción
--graph
para ver la apariencia de las historias divergentes.
En
Pequeño equipo privado
y
Rangos de Commits
cubrimos la sintaxis
branchA..branchB
al usar el comando
git log
para ver que commits son únicos a una rama en relación a otra rama. En
Rangos de Commits
repasamos esto bastante extensamente.
En
Registro de Fusión
y
Tres puntos
cubrimos el uso del formato
branchA...branchB
y la sintaxis
--left-right
para ver que está en una rama o en la otra pero no en ambas. En
Registro de Fusión
también vemos como utilizar la opción
--merge
para ayudarnos con la depuración de conflictos de fusión así como el uso de la opción
--cc
para ver conflictos de fusión en tu historia.
En
Nombres cortos de RefLog
usamos la opción
-g
para ver el reflog de Git a través de esta herramienta en lugar de hacer un recorrido de la rama.
En
Buscando
vemos el uso de las opciones
-S
y
-L
para hacer búsquedas bastante sofisticados de algo que sucedió históricamente en el código como ver la historia de una función.
En
Firmando Commits
vemos como usar
--show-signature
para añadir una cadena de texto de validación a cada commit en la salida de
git log
basado en si fue válidadmente firmado o no.
git stash
El comando
git stash
se utiliza para almacenar temporalmente el trabajo no confirmado con el fin de limpiar el directorio de trabajo sin tener que confirmar el trabajo no acabado en una rama.
git tag
El comando
git tag
se utiliza para dar un marcador permanente a un punto específico en el historial del código fuente. Generalmente esto se utiliza para cosas como las liberaciones (releases).
También cubrimos cómo crear una etiqueta con firma GPG tag con el indicador
-s
y verificamos uno con el indicador
-v
en
Firmando tu trabajo
. |
| Markdown | [](https://git-scm.com/) \--everything-is-local

- [About](https://git-scm.com/about)
- [Trademark](https://git-scm.com/about/trademark)
- [Learn](https://git-scm.com/learn)
- [Book](https://git-scm.com/book)
- [Cheat Sheet](https://git-scm.com/cheat-sheet)
- [Videos](https://git-scm.com/videos)
- [External Links](https://git-scm.com/doc/ext)
- [Tools](https://git-scm.com/tools)
- [Command Line](https://git-scm.com/tools/command-line)
- [GUIs](https://git-scm.com/tools/guis)
- [Hosting](https://git-scm.com/tools/hosting)
- [Reference](https://git-scm.com/docs)
- [Install](https://git-scm.com/install/linux)
- [Community](https://git-scm.com/community)
***
This book is available in [English](https://git-scm.com/book/en/v2/Appendix-C:-Git-Commands-Branching-and-Merging).
Full translation available in
| |
|---|
| [azərbaycan dili](https://git-scm.com/book/az/v2/Appendix-C:-Git-%C6%8Fmrl%C9%99ri-Branching-v%C9%99-Birl%C9%99%C5%9Fm%C9%99), |
| [български език](https://git-scm.com/book/bg), |
| [Deutsch](https://git-scm.com/book/de/v2/Anhang-C:-Git-Kommandos-Branching-und-Merging), |
| [Español](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Ramificar-y-Fusionar), |
| [فارسی](https://git-scm.com/book/fa/v2/%D9%BE%DB%8C%D9%88%D8%B3%D8%AA-C:-%D8%AF%D8%B3%D8%AA%D9%88%D8%B1%D8%A7%D8%AA-%DA%AF%DB%8C%D8%AA-Git-Commands-%D8%A7%D9%86%D8%B4%D8%B9%D8%A7%D8%A8%E2%80%8C%DA%AF%DB%8C%D8%B1%DB%8C-%D9%88-%D8%A7%D8%AF%D8%BA%D8%A7%D9%85-Branching-and-Merging), |
| [Français](https://git-scm.com/book/fr/v2/Commandes-Git-Cr%C3%A9ation-de-branches-et-fusion), |
| [Ελληνικά](https://git-scm.com/book/gr/v2/Appendix-C:-%CE%95%CE%BD%CF%84%CE%BF%CE%BB%CE%AD%CF%82-Git-%CE%94%CE%B9%CE%B1%CE%BA%CE%BB%CE%AC%CE%B4%CF%89%CF%83%CE%B7-%CE%BA%CE%B1%CE%B9-%CF%83%CF%85%CE%B3%CF%87%CF%8E%CE%BD%CE%B5%CF%85%CF%83%CE%B7), |
| [日本語](https://git-scm.com/book/ja/v2/%E4%BB%98%E9%8C%B2-C:-Git%E3%81%AE%E3%82%B3%E3%83%9E%E3%83%B3%E3%83%89-%E3%83%96%E3%83%A9%E3%83%B3%E3%83%81%E3%81%A8%E3%83%9E%E3%83%BC%E3%82%B8), |
| [한국어](https://git-scm.com/book/ko/v2/%EB%B6%80%EB%A1%9D-C:-Git-%EB%AA%85%EB%A0%B9%EC%96%B4-Branch%EC%99%80-Merge), |
| [Nederlands](https://git-scm.com/book/nl/v2/Bijlage-C:-Git-Commando%E2%80%99s-Branchen-en-mergen), |
| [Русский](https://git-scm.com/book/ru/v2/%D0%9F%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B5-C:-%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D1%8B-Git-%D0%92%D0%B5%D1%82%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5-%D0%B8-%D1%81%D0%BB%D0%B8%D1%8F%D0%BD%D0%B8%D1%8F), |
| [Slovenščina](https://git-scm.com/book/sl/v2/Dodatek-C:-Ukazi-Git-Veje-in-zdru%C5%BEevanje), |
| [Српски](https://git-scm.com/book/sr/v2/%D0%94%D0%BE%D0%B4%D0%B0%D1%82%D0%B0%D0%BA-%D0%92:-%D0%93%D0%B8%D1%82-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B5-%D0%93%D1%80%D0%B0%D0%BD%D0%B0%D1%9A%D0%B5-%D0%B8-%D1%81%D0%BF%D0%B0%D1%98%D0%B0%D1%9A%D0%B5), |
| [Svenska](https://git-scm.com/book/sv/v2/Bilaga-C:-Git-kommandon-Grening-och-sammanslagning), |
| [Tagalog](https://git-scm.com/book/tl/v2/Appendix-C:-Mga-Kautusan-ng-Git-Branching-at-Merging), |
| [Türkçe](https://git-scm.com/book/tr/v2/Ek-b%C3%B6l%C3%BCm-C:-Git-Komutlar%C4%B1-Dalland%C4%B1rma-ve-Birle%C5%9Ftirme-Komutlar%C4%B1). |
| [Українська](https://git-scm.com/book/uk/v2/%D0%94%D0%BE%D0%B4%D0%B0%D1%82%D0%BE%D0%BA-C:-%D0%9A%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B8-Git-%D0%93%D0%B0%D0%BB%D1%83%D0%B6%D0%B5%D0%BD%D0%BD%D1%8F-%D1%82%D0%B0-%D0%B7%D0%BB%D0%B8%D0%B2%D0%B0%D0%BD%D0%BD%D1%8F), |
| [简体中文](https://git-scm.com/book/zh/v2/%E9%99%84%E5%BD%95-C:-Git-%E5%91%BD%E4%BB%A4-%E5%88%86%E6%94%AF%E4%B8%8E%E5%90%88%E5%B9%B6), |
Partial translations available in
| |
|---|
| [Čeština](https://git-scm.com/book/cs/v2/Appendix-C:-Git-Commands-Branching-and-Merging), |
| [Македонски](https://git-scm.com/book/mk/v2/Appendix-C:-Git-%D0%BA%D0%BE%D0%BC%D0%B0%D0%BD%D0%B4%D0%B8-Branching-and-Merging), |
| [Polski](https://git-scm.com/book/pl/v2/Appendix-C:-Git-Commands-Branching-and-Merging), |
| [Português (Brasil)](https://git-scm.com/book/pt-br/v2/Appendix-C:-Git-Commands-Branching-and-Merging), |
| [Ўзбекча](https://git-scm.com/book/uz/v2/Appendix-C:-Git-Commands-Branching-and-Merging), |
| [繁體中文](https://git-scm.com/book/zh-tw/v2/%E9%99%84%E9%8C%84-C:-Git-Commands-Branching-and-Merging), |
Translations started for
| |
|---|
| [Беларуская](https://git-scm.com/book/be/v2/%D0%94%D0%B0%D0%B4%D0%B0%D1%82%D0%B0%D0%BA-C:-Git-Commands-Branching-and-Merging), |
| [Indonesian](https://git-scm.com/book/id/v2/Appendix-C:-Git-Commands-Branching-and-Merging), |
| [Italiano](https://git-scm.com/book/it/v2/Appendice-C:-Git-Commands-Branching-and-Merging), |
| [Bahasa Melayu](https://git-scm.com/book/ms/v2/Appendix-C:-Git-Commands-Branching-and-Merging), |
| [Português (Portugal)](https://git-scm.com/book/pt-pt/v2/Appendix-C:-Git-Commands-Branching-and-Merging). |
***
The source of this book is [hosted on GitHub.](https://github.com/progit/progit2-es)
Patches, suggestions and comments are welcome.
[Chapters ▾](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Ramificar-y-Fusionar)
1. ## 1\. [Inicio - Sobre el Control de Versiones](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Acerca-del-Control-de-Versiones)
1. 1\.1 [Acerca del Control de Versiones](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Acerca-del-Control-de-Versiones)
2. 1\.2 [Una breve historia de Git](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Una-breve-historia-de-Git)
3. 1\.3 [Fundamentos de Git](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Fundamentos-de-Git)
4. 1\.4 [La Línea de Comandos](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-La-L%C3%ADnea-de-Comandos)
5. 1\.5 [Instalación de Git](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Instalaci%C3%B3n-de-Git)
6. 1\.6 [Configurando Git por primera vez](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Configurando-Git-por-primera-vez)
7. 1\.7 [¿Cómo obtener ayuda?](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-%C2%BFC%C3%B3mo-obtener-ayuda%3F)
8. 1\.8 [Resumen](https://git-scm.com/book/es/v2/Inicio---Sobre-el-Control-de-Versiones-Resumen)
2. ## 2\. [Fundamentos de Git](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Obteniendo-un-repositorio-Git)
1. 2\.1 [Obteniendo un repositorio Git](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Obteniendo-un-repositorio-Git)
2. 2\.2 [Guardando cambios en el Repositorio](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Guardando-cambios-en-el-Repositorio)
3. 2\.3 [Ver el Historial de Confirmaciones](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Ver-el-Historial-de-Confirmaciones)
4. 2\.4 [Deshacer Cosas](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Deshacer-Cosas)
5. 2\.5 [Trabajar con Remotos](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Trabajar-con-Remotos)
6. 2\.6 [Etiquetado](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Etiquetado)
7. 2\.7 [Alias de Git](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Alias-de-Git)
8. 2\.8 [Resumen](https://git-scm.com/book/es/v2/Fundamentos-de-Git-Resumen)
3. ## 3\. [Ramificaciones en Git](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-%C2%BFQu%C3%A9-es-una-rama%3F)
1. 3\.1 [¿Qué es una rama?](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-%C2%BFQu%C3%A9-es-una-rama%3F)
2. 3\.2 [Procedimientos Básicos para Ramificar y Fusionar](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-Procedimientos-B%C3%A1sicos-para-Ramificar-y-Fusionar)
3. 3\.3 [Gestión de Ramas](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-Gesti%C3%B3n-de-Ramas)
4. 3\.4 [Flujos de Trabajo Ramificados](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-Flujos-de-Trabajo-Ramificados)
5. 3\.5 [Ramas Remotas](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-Ramas-Remotas)
6. 3\.6 [Reorganizar el Trabajo Realizado](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-Reorganizar-el-Trabajo-Realizado)
7. 3\.7 [Recapitulación](https://git-scm.com/book/es/v2/Ramificaciones-en-Git-Recapitulaci%C3%B3n)
4. ## 4\. [Git en el Servidor](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Los-Protocolos)
1. 4\.1 [Los Protocolos](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Los-Protocolos)
2. 4\.2 [Configurando Git en un servidor](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Configurando-Git-en-un-servidor)
3. 4\.3 [Generando tu clave pública SSH](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Generando-tu-clave-p%C3%BAblica-SSH)
4. 4\.4 [Configurando el servidor](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Configurando-el-servidor)
5. 4\.5 [El demonio Git](https://git-scm.com/book/es/v2/Git-en-el-Servidor-El-demonio-Git)
6. 4\.6 [HTTP Inteligente](https://git-scm.com/book/es/v2/Git-en-el-Servidor-HTTP-Inteligente)
7. 4\.7 [GitWeb](https://git-scm.com/book/es/v2/Git-en-el-Servidor-GitWeb)
8. 4\.8 [GitLab](https://git-scm.com/book/es/v2/Git-en-el-Servidor-GitLab)
9. 4\.9 [Git en un alojamiento externo](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Git-en-un-alojamiento-externo)
10. 4\.10 [Resumen](https://git-scm.com/book/es/v2/Git-en-el-Servidor-Resumen)
5. ## 5\. [Git en entornos distribuidos](https://git-scm.com/book/es/v2/Git-en-entornos-distribuidos-Flujos-de-trabajo-distribuidos)
1. 5\.1 [Flujos de trabajo distribuidos](https://git-scm.com/book/es/v2/Git-en-entornos-distribuidos-Flujos-de-trabajo-distribuidos)
2. 5\.2 [Contribuyendo a un Proyecto](https://git-scm.com/book/es/v2/Git-en-entornos-distribuidos-Contribuyendo-a-un-Proyecto)
3. 5\.3 [Manteniendo un proyecto](https://git-scm.com/book/es/v2/Git-en-entornos-distribuidos-Manteniendo-un-proyecto)
4. 5\.4 [Resumen](https://git-scm.com/book/es/v2/Git-en-entornos-distribuidos-Resumen)
1. ## 6\. [GitHub](https://git-scm.com/book/es/v2/GitHub-Creaci%C3%B3n-y-configuraci%C3%B3n-de-la-cuenta)
1. 6\.1 [Creación y configuración de la cuenta](https://git-scm.com/book/es/v2/GitHub-Creaci%C3%B3n-y-configuraci%C3%B3n-de-la-cuenta)
2. 6\.2 [Participando en Proyectos](https://git-scm.com/book/es/v2/GitHub-Participando-en-Proyectos)
3. 6\.3 [Mantenimiento de un proyecto](https://git-scm.com/book/es/v2/GitHub-Mantenimiento-de-un-proyecto)
4. 6\.4 [Gestión de una organización](https://git-scm.com/book/es/v2/GitHub-Gesti%C3%B3n-de-una-organizaci%C3%B3n)
5. 6\.5 [Scripting en GitHub](https://git-scm.com/book/es/v2/GitHub-Scripting-en-GitHub)
6. 6\.6 [Resumen](https://git-scm.com/book/es/v2/GitHub-Resumen)
2. ## 7\. [Herramientas de Git](https://git-scm.com/book/es/v2/Herramientas-de-Git-Revisi%C3%B3n-por-selecci%C3%B3n)
1. 7\.1 [Revisión por selección](https://git-scm.com/book/es/v2/Herramientas-de-Git-Revisi%C3%B3n-por-selecci%C3%B3n)
2. 7\.2 [Organización interactiva](https://git-scm.com/book/es/v2/Herramientas-de-Git-Organizaci%C3%B3n-interactiva)
3. 7\.3 [Guardado rápido y Limpieza](https://git-scm.com/book/es/v2/Herramientas-de-Git-Guardado-r%C3%A1pido-y-Limpieza)
4. 7\.4 [Firmando tu trabajo](https://git-scm.com/book/es/v2/Herramientas-de-Git-Firmando-tu-trabajo)
5. 7\.5 [Buscando](https://git-scm.com/book/es/v2/Herramientas-de-Git-Buscando)
6. 7\.6 [Reescribiendo la Historia](https://git-scm.com/book/es/v2/Herramientas-de-Git-Reescribiendo-la-Historia)
7. 7\.7 [Reiniciar Desmitificado](https://git-scm.com/book/es/v2/Herramientas-de-Git-Reiniciar-Desmitificado)
8. 7\.8 [Fusión Avanzada](https://git-scm.com/book/es/v2/Herramientas-de-Git-Fusi%C3%B3n-Avanzada)
9. 7\.9 [Rerere](https://git-scm.com/book/es/v2/Herramientas-de-Git-Rerere)
10. 7\.10 [Haciendo debug con Git](https://git-scm.com/book/es/v2/Herramientas-de-Git-Haciendo-debug-con-Git)
11. 7\.11 [Submódulos](https://git-scm.com/book/es/v2/Herramientas-de-Git-Subm%C3%B3dulos)
12. 7\.12 [Agrupaciones](https://git-scm.com/book/es/v2/Herramientas-de-Git-Agrupaciones)
13. 7\.13 [Replace](https://git-scm.com/book/es/v2/Herramientas-de-Git-Replace)
14. 7\.14 [Almacenamiento de credenciales](https://git-scm.com/book/es/v2/Herramientas-de-Git-Almacenamiento-de-credenciales)
15. 7\.15 [Resumen](https://git-scm.com/book/es/v2/Herramientas-de-Git-Resumen)
3. ## 8\. [Personalización de Git](https://git-scm.com/book/es/v2/Personalizaci%C3%B3n-de-Git-Configuraci%C3%B3n-de-Git)
1. 8\.1 [Configuración de Git](https://git-scm.com/book/es/v2/Personalizaci%C3%B3n-de-Git-Configuraci%C3%B3n-de-Git)
2. 8\.2 [Git Attributes](https://git-scm.com/book/es/v2/Personalizaci%C3%B3n-de-Git-Git-Attributes)
3. 8\.3 [Puntos de enganche en Git](https://git-scm.com/book/es/v2/Personalizaci%C3%B3n-de-Git-Puntos-de-enganche-en-Git)
4. 8\.4 [Un ejemplo de implantación de una determinada política en Git](https://git-scm.com/book/es/v2/Personalizaci%C3%B3n-de-Git-Un-ejemplo-de-implantaci%C3%B3n-de-una-determinada-pol%C3%ADtica-en-Git)
5. 8\.5 [Recapitulación](https://git-scm.com/book/es/v2/Personalizaci%C3%B3n-de-Git-Recapitulaci%C3%B3n)
4. ## 9\. [Git y Otros Sistemas](https://git-scm.com/book/es/v2/Git-y-Otros-Sistemas-Git-como-Cliente)
1. 9\.1 [Git como Cliente](https://git-scm.com/book/es/v2/Git-y-Otros-Sistemas-Git-como-Cliente)
2. 9\.2 [Migración a Git](https://git-scm.com/book/es/v2/Git-y-Otros-Sistemas-Migraci%C3%B3n-a-Git)
3. 9\.3 [Resumen](https://git-scm.com/book/es/v2/Git-y-Otros-Sistemas-Resumen)
5. ## 10\. [Los entresijos internos de Git](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Fontaner%C3%ADa-y-porcelana)
1. 10\.1 [Fontanería y porcelana](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Fontaner%C3%ADa-y-porcelana)
2. 10\.2 [Los objetos Git](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Los-objetos-Git)
3. 10\.3 [Referencias Git](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Referencias-Git)
4. 10\.4 [Archivos empaquetadores](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Archivos-empaquetadores)
5. 10\.5 [Las especificaciones para hacer referencia a… (refspec)](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Las-especificaciones-para-hacer-referencia-a%E2%80%A6%E2%80%8B-refspec)
6. 10\.6 [Protocolos de transferencia](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Protocolos-de-transferencia)
7. 10\.7 [Mantenimiento y recuperación de datos](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Mantenimiento-y-recuperaci%C3%B3n-de-datos)
8. 10\.8 [Variables de entorno](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Variables-de-entorno)
9. 10\.9 [Recapitulación](https://git-scm.com/book/es/v2/Los-entresijos-internos-de-Git-Recapitulaci%C3%B3n)
1. ## A1. [Apéndice A: Git en otros entornos](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Interfaces-gr%C3%A1ficas)
1. A1.1 [Interfaces gráficas](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Interfaces-gr%C3%A1ficas)
2. A1.2 [Git en Visual Studio](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Git-en-Visual-Studio)
3. A1.3 [Git en Eclipse](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Git-en-Eclipse)
4. A1.4 [Git con Bash](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Git-con-Bash)
5. A1.5 [Git en Zsh](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Git-en-Zsh)
6. A1.6 [Git en Powershell](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Git-en-Powershell)
7. A1.7 [Resumen](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-A:-Git-en-otros-entornos-Resumen)
2. ## A2. [Apéndice B: Integrando Git en tus Aplicaciones](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-B:-Integrando-Git-en-tus-Aplicaciones-Git-mediante-L%C3%ADnea-de-Comandos)
1. A2.1 [Git mediante Línea de Comandos](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-B:-Integrando-Git-en-tus-Aplicaciones-Git-mediante-L%C3%ADnea-de-Comandos)
2. A2.2 [Libgit2](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-B:-Integrando-Git-en-tus-Aplicaciones-Libgit2)
3. A2.3 [JGit](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-B:-Integrando-Git-en-tus-Aplicaciones-JGit)
3. ## A3. [Apéndice C: Comandos de Git](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Configuraci%C3%B3n)
1. A3.1 [Configuración](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Configuraci%C3%B3n)
2. A3.2 [Obtener y Crear Proyectos](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Obtener-y-Crear-Proyectos)
3. A3.3 [Seguimiento Básico](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Seguimiento-B%C3%A1sico)
4. A3.4 [Ramificar y Fusionar](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Ramificar-y-Fusionar)
5. A3.5 [Compartir y Actualizar Proyectos](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Compartir-y-Actualizar-Proyectos)
6. A3.6 [Inspección y Comparación](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Inspecci%C3%B3n-y-Comparaci%C3%B3n)
7. A3.7 [Depuración](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Depuraci%C3%B3n)
8. A3.8 [Parcheo](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Parcheo)
9. A3.9 [Correo Electrónico](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Correo-Electr%C3%B3nico)
10. A3.10 [Sistemas Externos](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Sistemas-Externos)
11. A3.11 [Administración](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Administraci%C3%B3n)
12. A3.12 [Comandos de Fontanería](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Comandos-de-Fontaner%C3%ADa)
2nd Edition
# A3.4 Apéndice C: Comandos de Git - Ramificar y Fusionar
## Ramificar y Fusionar
Hay sólo un puñado de comandos que implementan la mayor parte de la funcionalidad de ramificación y fusión en Git.
### git branch
El comando `git branch` es en realidad una especie de herramienta de gestión de ramas. Puede listar las ramas que tienes, crear una nueva rama, eliminar ramas y cambiar el nombre de las ramas.
La mayor parte de [\[ch03-git-branching\]](https://git-scm.com/book/es/v2/ch00/ch03-git-branching) está dedicada al comando `branch` y es utilizado a lo largo de todo el capítulo. En primer lugar, lo introducimos en [Crear una Rama Nueva](https://git-scm.com/book/es/v2/ch00/r_create_new_branch) y examinamos la mayor parte de sus otras características (listar y borrar) en [Gestión de Ramas](https://git-scm.com/book/es/v2/ch00/r_branch_management).
En [Hacer Seguimiento a las Ramas](https://git-scm.com/book/es/v2/ch00/r_tracking_branches) usamos la opción `git branch -u` para establecer una rama de seguimiento.
Finalmente, examinamos algo de lo que hace en segundo plano en [Referencias Git](https://git-scm.com/book/es/v2/ch00/r_git_refs).
### git checkout
El comando `git checkout` se usa para cambiar de rama y revisar el contenido de tu directorio de trabajo.
En primer lugar, encontramos el comando en [Cambiar de Rama](https://git-scm.com/book/es/v2/ch00/r_switching_branches) junto con el comando `git branch`.
Vemos cómo usarlo para iniciar el seguimiento de ramas con el indicador `--track` en [Hacer Seguimiento a las Ramas](https://git-scm.com/book/es/v2/ch00/r_tracking_branches).
Lo usamos para reintroducir los conflictos de archivos con `--conflict=diff3` en [Revisando Los Conflictos](https://git-scm.com/book/es/v2/ch00/r_checking_out_conflicts).
Entramos en más detalle sobre su relación con `git reset` en [Reiniciar Desmitificado](https://git-scm.com/book/es/v2/ch00/r_git_reset).
Finalmente, examinamos algún detalle de implementación en [La CABEZA (HEAD)](https://git-scm.com/book/es/v2/ch00/r_the_head).
### git merge
La herramienta `git merge` se utiliza para fusionar uno o más ramas dentro de la rama que tienes activa. A continuación avanzará la rama actual al resultado de la fusión.
El comando `git merge` fue introducido por primera en [Procedimientos Básicos de Ramificación](https://git-scm.com/book/es/v2/ch00/r_basic_branching). A pesar de que se utiliza en diversos lugares en el libro, hay muy pocas variaciones del comando `merge` — en general, sólo `git merge <branch>` con el nombre de la rama individual que se desea combinar.
Cubrimos cómo hacer una fusión aplastada (squashed merge) (donde Git fusiona el trabajo, pero finge como si fuera simplemente un nuevo commit sin registrar la historia de la rama que se está fusionando) al final de [Proyecto público bifurcado](https://git-scm.com/book/es/v2/ch00/r_public_project).
Repasamos mucho sobre el proceso de fusión y dirección, incluyendo el comando `-Xignore-all-whitespace` y el indicador `--abort` para abortar un problema de fusión en [Fusión Avanzada](https://git-scm.com/book/es/v2/ch00/r_advanced_merging).
Aprendimos cómo verificar las firmas antes de la fusión si tu proyecto está usando fimas GPG en [Firmando Commits](https://git-scm.com/book/es/v2/ch00/r_signing_commits).
Finalmente, aprendimos sobre la fusión de subárboles en [Convergencia de Subárbol](https://git-scm.com/book/es/v2/ch00/r_subtree_merge).
### git mergetool
El comando `git mergetool` simplemente lanza un ayudante de fusión externo en caso de tener problemas con una combinación en Git.
Lo mencionamos rápidamente en [Principales Conflictos que Pueden Surgir en las Fusiones](https://git-scm.com/book/es/v2/ch00/r_basic_merge_conflicts) y entramos en detalle sobre cómo implementar tu propia herramienta de fusión externa en [Herramientas externas para fusión y diferencias](https://git-scm.com/book/es/v2/ch00/r_external_merge_tools).
### git log
El comando `git log` se utiliza para mostrar la historia registrada alcanzable de un proyecto desde la más reciente instantánea confirmada hacia atrás. Por defecto sólo se mostrará la historia de la rama en la que te encuentres, pero pueden ser dadas diferentes e incluso múltiples cabezas o ramas desde la que hacer el recorrido. También se utiliza a menudo para mostrar las diferencias entre dos o más ramas a nivel de commit.
Este comando se utiliza en casi todos los capítulos del libro para mostrar la historia de un proyecto.
Introducimos el comando y lo cubrimos con cierta profundidad en [Ver el Historial de Confirmaciones](https://git-scm.com/book/es/v2/ch00/r_viewing_history). Allí vemos las opciones `-p` y `--stat` para tener una idea de lo que fue introducido en cada commit y las opciones `--pretty` y `--oneline` para ver el historial de forma más concisa, junto con unas simples opciones de filtrado de fecha y autor.
En [Crear una Rama Nueva](https://git-scm.com/book/es/v2/ch00/r_create_new_branch) lo utilizamos con la opción `--decorate` para visualizar fácilmente donde se encuentran nuestros punteros de rama y también utilizamos la opción `--graph` para ver la apariencia de las historias divergentes.
En [Pequeño equipo privado](https://git-scm.com/book/es/v2/ch00/r_private_team) y [Rangos de Commits](https://git-scm.com/book/es/v2/ch00/r_commit_ranges) cubrimos la sintaxis `branchA..branchB` al usar el comando `git log` para ver que commits son únicos a una rama en relación a otra rama. En [Rangos de Commits](https://git-scm.com/book/es/v2/ch00/r_commit_ranges) repasamos esto bastante extensamente.
En [Registro de Fusión](https://git-scm.com/book/es/v2/ch00/r_merge_log) y [Tres puntos](https://git-scm.com/book/es/v2/ch00/r_triple_dot) cubrimos el uso del formato `branchA...branchB` y la sintaxis `--left-right` para ver que está en una rama o en la otra pero no en ambas. En [Registro de Fusión](https://git-scm.com/book/es/v2/ch00/r_merge_log) también vemos como utilizar la opción `--merge` para ayudarnos con la depuración de conflictos de fusión así como el uso de la opción `--cc` para ver conflictos de fusión en tu historia.
En [Nombres cortos de RefLog](https://git-scm.com/book/es/v2/ch00/r_git_reflog) usamos la opción `-g` para ver el reflog de Git a través de esta herramienta en lugar de hacer un recorrido de la rama.
En [Buscando](https://git-scm.com/book/es/v2/ch00/r_searching) vemos el uso de las opciones `-S` y `-L` para hacer búsquedas bastante sofisticados de algo que sucedió históricamente en el código como ver la historia de una función.
En [Firmando Commits](https://git-scm.com/book/es/v2/ch00/r_signing_commits) vemos como usar `--show-signature` para añadir una cadena de texto de validación a cada commit en la salida de `git log` basado en si fue válidadmente firmado o no.
### git stash
El comando `git stash` se utiliza para almacenar temporalmente el trabajo no confirmado con el fin de limpiar el directorio de trabajo sin tener que confirmar el trabajo no acabado en una rama.
Básicamente esto es enteramente cubierto en [Guardado rápido y Limpieza](https://git-scm.com/book/es/v2/ch00/r_git_stashing).
### git tag
El comando `git tag` se utiliza para dar un marcador permanente a un punto específico en el historial del código fuente. Generalmente esto se utiliza para cosas como las liberaciones (releases).
Este comando se introduce y se trata en detalle en [Etiquetado](https://git-scm.com/book/es/v2/ch00/r_git_tagging) y lo usamos en la práctica en [Etiquetando tus versiones](https://git-scm.com/book/es/v2/ch00/r_tagging_releases).
También cubrimos cómo crear una etiqueta con firma GPG tag con el indicador `-s` y verificamos uno con el indicador `-v` en [Firmando tu trabajo](https://git-scm.com/book/es/v2/ch00/r_signing).
[prev](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Seguimiento-B%C3%A1sico) \| [next](https://git-scm.com/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Compartir-y-Actualizar-Proyectos)
[About this site](https://git-scm.com/site)
Patches, suggestions, and comments are welcome.
Git is a member of [Software Freedom Conservancy](https://git-scm.com/sfc) |
| Readable Markdown | Hay sólo un puñado de comandos que implementan la mayor parte de la funcionalidad de ramificación y fusión en Git.
### git branch
El comando `git branch` es en realidad una especie de herramienta de gestión de ramas. Puede listar las ramas que tienes, crear una nueva rama, eliminar ramas y cambiar el nombre de las ramas.
La mayor parte de [\[ch03-git-branching\]](https://git-scm.com/book/es/v2/ch00/ch03-git-branching) está dedicada al comando `branch` y es utilizado a lo largo de todo el capítulo. En primer lugar, lo introducimos en [Crear una Rama Nueva](https://git-scm.com/book/es/v2/ch00/r_create_new_branch) y examinamos la mayor parte de sus otras características (listar y borrar) en [Gestión de Ramas](https://git-scm.com/book/es/v2/ch00/r_branch_management).
Finalmente, examinamos algo de lo que hace en segundo plano en [Referencias Git](https://git-scm.com/book/es/v2/ch00/r_git_refs).
### git checkout
El comando `git checkout` se usa para cambiar de rama y revisar el contenido de tu directorio de trabajo.
En primer lugar, encontramos el comando en [Cambiar de Rama](https://git-scm.com/book/es/v2/ch00/r_switching_branches) junto con el comando `git branch`.
Lo usamos para reintroducir los conflictos de archivos con `--conflict=diff3` en [Revisando Los Conflictos](https://git-scm.com/book/es/v2/ch00/r_checking_out_conflicts).
Finalmente, examinamos algún detalle de implementación en [La CABEZA (HEAD)](https://git-scm.com/book/es/v2/ch00/r_the_head).
### git merge
La herramienta `git merge` se utiliza para fusionar uno o más ramas dentro de la rama que tienes activa. A continuación avanzará la rama actual al resultado de la fusión.
El comando `git merge` fue introducido por primera en [Procedimientos Básicos de Ramificación](https://git-scm.com/book/es/v2/ch00/r_basic_branching). A pesar de que se utiliza en diversos lugares en el libro, hay muy pocas variaciones del comando `merge` — en general, sólo `git merge <branch>` con el nombre de la rama individual que se desea combinar.
Cubrimos cómo hacer una fusión aplastada (squashed merge) (donde Git fusiona el trabajo, pero finge como si fuera simplemente un nuevo commit sin registrar la historia de la rama que se está fusionando) al final de [Proyecto público bifurcado](https://git-scm.com/book/es/v2/ch00/r_public_project).
Repasamos mucho sobre el proceso de fusión y dirección, incluyendo el comando `-Xignore-all-whitespace` y el indicador `--abort` para abortar un problema de fusión en [Fusión Avanzada](https://git-scm.com/book/es/v2/ch00/r_advanced_merging).
Aprendimos cómo verificar las firmas antes de la fusión si tu proyecto está usando fimas GPG en [Firmando Commits](https://git-scm.com/book/es/v2/ch00/r_signing_commits).
### git mergetool
El comando `git mergetool` simplemente lanza un ayudante de fusión externo en caso de tener problemas con una combinación en Git.
### git log
El comando `git log` se utiliza para mostrar la historia registrada alcanzable de un proyecto desde la más reciente instantánea confirmada hacia atrás. Por defecto sólo se mostrará la historia de la rama en la que te encuentres, pero pueden ser dadas diferentes e incluso múltiples cabezas o ramas desde la que hacer el recorrido. También se utiliza a menudo para mostrar las diferencias entre dos o más ramas a nivel de commit.
Este comando se utiliza en casi todos los capítulos del libro para mostrar la historia de un proyecto.
Introducimos el comando y lo cubrimos con cierta profundidad en [Ver el Historial de Confirmaciones](https://git-scm.com/book/es/v2/ch00/r_viewing_history). Allí vemos las opciones `-p` y `--stat` para tener una idea de lo que fue introducido en cada commit y las opciones `--pretty` y `--oneline` para ver el historial de forma más concisa, junto con unas simples opciones de filtrado de fecha y autor.
En [Crear una Rama Nueva](https://git-scm.com/book/es/v2/ch00/r_create_new_branch) lo utilizamos con la opción `--decorate` para visualizar fácilmente donde se encuentran nuestros punteros de rama y también utilizamos la opción `--graph` para ver la apariencia de las historias divergentes.
En [Pequeño equipo privado](https://git-scm.com/book/es/v2/ch00/r_private_team) y [Rangos de Commits](https://git-scm.com/book/es/v2/ch00/r_commit_ranges) cubrimos la sintaxis `branchA..branchB` al usar el comando `git log` para ver que commits son únicos a una rama en relación a otra rama. En [Rangos de Commits](https://git-scm.com/book/es/v2/ch00/r_commit_ranges) repasamos esto bastante extensamente.
En [Registro de Fusión](https://git-scm.com/book/es/v2/ch00/r_merge_log) y [Tres puntos](https://git-scm.com/book/es/v2/ch00/r_triple_dot) cubrimos el uso del formato `branchA...branchB` y la sintaxis `--left-right` para ver que está en una rama o en la otra pero no en ambas. En [Registro de Fusión](https://git-scm.com/book/es/v2/ch00/r_merge_log) también vemos como utilizar la opción `--merge` para ayudarnos con la depuración de conflictos de fusión así como el uso de la opción `--cc` para ver conflictos de fusión en tu historia.
En [Nombres cortos de RefLog](https://git-scm.com/book/es/v2/ch00/r_git_reflog) usamos la opción `-g` para ver el reflog de Git a través de esta herramienta en lugar de hacer un recorrido de la rama.
En [Buscando](https://git-scm.com/book/es/v2/ch00/r_searching) vemos el uso de las opciones `-S` y `-L` para hacer búsquedas bastante sofisticados de algo que sucedió históricamente en el código como ver la historia de una función.
En [Firmando Commits](https://git-scm.com/book/es/v2/ch00/r_signing_commits) vemos como usar `--show-signature` para añadir una cadena de texto de validación a cada commit en la salida de `git log` basado en si fue válidadmente firmado o no.
### git stash
El comando `git stash` se utiliza para almacenar temporalmente el trabajo no confirmado con el fin de limpiar el directorio de trabajo sin tener que confirmar el trabajo no acabado en una rama.
### git tag
El comando `git tag` se utiliza para dar un marcador permanente a un punto específico en el historial del código fuente. Generalmente esto se utiliza para cosas como las liberaciones (releases).
También cubrimos cómo crear una etiqueta con firma GPG tag con el indicador `-s` y verificamos uno con el indicador `-v` en [Firmando tu trabajo](https://git-scm.com/book/es/v2/ch00/r_signing). |
| Shard | 54 (laksa) |
| Root Hash | 7104038400628677254 |
| Unparsed URL | com,git-scm!/book/es/v2/Ap%C3%A9ndice-C:-Comandos-de-Git-Ramificar-y-Fusionar s443 |