Resolución de conflictos al hacer un merge
Clase 17 de 43 • Curso Profesional de Git y GitHub
Contenido del curso
- 8

Crea un repositorio de Git y haz tu primer commit
10:51 - 9

Analizar cambios en los archivos de tu proyecto con Git
09:40 - 10

¿Qué es el staging?
05:17 - 11

¿Qué es branch (rama) y cómo funciona un Merge en Git?
03:56 - 12

Volver en el tiempo en nuestro repositorio utilizando reset y checkout
11:17 - 13
Git reset vs. Git rm
03:50
- 18

Cómo funcionan las llaves públicas y privadas
05:27 - 19

Configura tus llaves SSH en local
19:04 - 20

Uso de GitHub
12:09 - 21
Cambios en GitHub: de master a main
00:46 - 22

Tu primer push
08:17 - 23

Git tag y versiones en Github
09:48 - 24

Manejo de ramas en GitHub
06:32 - 25

Configurar múltiples colaboradores en un repositorio de GitHub
11:11
- 26

Flujo de trabajo profesional: Haciendo merge de ramas de desarrollo a master
17:27 - 27

Flujo de trabajo profesional con Pull requests
04:49 - 28

Utilizando Pull Requests en GitHub
14:51 - 29

Creando un Fork, contribuyendo a un repositorio
20:19 - 30

Haciendo deployment a un servidor
05:49 - 31

Hazme un pull request
01:46 - 32

Ignorar archivos en el repositorio con .gitignore
07:20 - 33

Readme.md es una excelente práctica
05:34 - 34

Tu sitio web público con GitHub Pages
07:17
Git nunca borra nada, a menos que nosotros se lo indiquemos. Cuando usamos los comandos git merge o git checkout estamos cambiando de rama o creando un nuevo commit, no borrando ramas ni commits (recuerda que puedes borrar commits con git reset y ramas con git branch -d).
Git es muy inteligente y puede resolver algunos conflictos automáticamente: cambios, nuevas líneas, entre otros. Pero algunas veces no sabe cómo resolver estas diferencias, por ejemplo, cuando dos ramas diferentes hacen cambios distintos a una misma línea.
Esto lo conocemos como conflicto y lo podemos resolver manualmente. Solo debemos hacer el merge, ir a nuestro editor de código y elegir si queremos quedarnos con alguna de estas dos versiones o algo diferente. Algunos editores de código como Visual Studio Code nos ayudan a resolver estos conflictos sin necesidad de borrar o escribir líneas de texto, basta con hacer clic en un botón y guardar el archivo.
Recuerda que siempre debemos crear un nuevo commit para aplicar los cambios del merge. Si Git puede resolver el conflicto, hará commit automáticamente. Pero, en caso de no pueda resolverlo, debemos solucionarlo y hacer el commit.
Los archivos con conflictos por el comando git merge entran en un nuevo estado que conocemos como Unmerged. Funcionan muy parecido a los archivos en estado Unstaged, algo así como un estado intermedio entre Untracked y Unstaged. Solo debemos ejecutar git add para pasarlos al área de staging y git commit para aplicar los cambios en el repositorio.
Cómo revertir un merge
Si nos hemos equivocado y queremos cancelar el merge, debemos usar el siguiente comando:
git merge --abort
Conflictos en repositorios remotos
Al trabajar con otras personas, es necesario utilizar un repositorio remoto.
-Para copiar el repositorio remoto al directorio de trabajo local, se utiliza el comando git clone <url>, y para enviar cambios al repositorio remoto se utiliza git push.
-Para actualizar el repositorio local se hace uso del comando git fetch, luego se debe fusionar los datos traídos con los locales usando git merge.
- Para traer los datos y fusionarlos a la vez, en un solo comando, se usa
git pull.
- Para crear commits rápidamente, fusionandogit addygit commit -m "", usamosgit commit -am "".
- Para generar nuevas ramas, hay que posicionarse sobre la rama que se desea copiar y utilizar el comandogit branch <nombre>. - Para saltar entre ramas, se usa el comando
git checkout <branch>
- Una vez realizado los cambios en la rama, estas deben fusionarse congit merge. - El merge ocurre en la rama en la que se está posicionado. Por lo tanto, la rama a fusionar se transforma en la principal.
- Los merges también son commits.
- Los merges pueden generar conflictos, esto aborta la acción y pide que soluciones el problema manualmente, aceptando o rechazando los cambios que vienen.
Repasa qué es un branch
Aporte creado por: José Tuzinkievicz, Lottie