Тёмный

Git Merge vs Rebase vs Squash ¿Qué estrategia debemos elegir? 

CodelyTV - Redescubre la programación
Подписаться 151 тыс.
Просмотров 49 тыс.
50% 1

Mostramos las diferencias entre las estrategias de Merge Commit, Squash y Rebase, para ver las diferencias y dar nuestra opinión sobre cuál nos gusta más.
Este video es parte del Curso de Git 👉 bit.ly/git-codelytv
{▶️} CodelyTV
├ 🎥 Suscríbete: ru-vid.com?sub_co...
├ 🐦 Twitter CodelyTV: / codelytv
├ 🧔🏻 Twitter Javi: / javiercane
├ 👨🏻‍🌾 Twitter Dani: / dsantaka
├ 📸 Instagram: / codelytv
├ ℹ️ LinkedIn: / codelytv
├ 🟦 Facebook: / codelytv
└ 📕 Catálogo cursos: bit.ly/cursos-codely

Наука

Опубликовано:

 

19 янв 2022

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 95   
@CodelyTV
@CodelyTV 2 года назад
Y a tí ¿Qué estrategia te gusta más? ¿Merge commit, Squash o Rebase?
@monoeze
@monoeze Год назад
Squash, para equipos chicos o muy dinamicos con branches cortos. Merge para el resto. slds
@tantumDicoQuodCogito
@tantumDicoQuodCogito 10 месяцев назад
Merge commit, totalmente de acuerdo, también me gusta tener el detalle de la trazabilidad de los commits
@CarlosFioriti
@CarlosFioriti 2 года назад
Cocuerdo contigo Javi, considero la mejor opción a "Merge Commit" ya que aporta lo mejor de ambos mundos.
@miguelbemartin
@miguelbemartin 2 года назад
Casi casi me convence Javi también, pero nosotros usamos "Squash and merge" porque normalmente el histórico dentro de la feature branch no queda tan limpia como en los ejemplos, hay mucho, "fix test", "fix", "bla bla", y suele haber muchos commits que no tienen relevancia. Además intentamos que sean pull requests pequeñitos, por lo que no hay muchos cambios en un mismo PR, en caso que tengamos que volver atrás, el PR es una unidad suficiente y no necesitamos más granularidad. Buen video chicos!
@atarconcet
@atarconcet 2 года назад
Totalmente de acuerdo y encima si hay equipos que usan una rama como develop aparte de master/main, se prefiere que ella (develop) sea lineal y no tenga todos los commits de desarrollo de los feature branches, en fin son estilos, gracias
@Valeriano.A.R
@Valeriano.A.R 2 года назад
Merge para integrar código en Main (con cherry-pick si fuera necesario). Rebase para integrar código desde Main a ramas secundarias. Nunca squash, que la historia se mantenga
@davidmarver
@davidmarver 2 года назад
explicación superclara! gracias y enhorabuena por el vídeo!
@alfoncode
@alfoncode 2 года назад
Enhorabuena! más conversaciones de este tipo!! :)
@PhosphorusMoscu-code
@PhosphorusMoscu-code 2 года назад
Con cuerdo con Javier conviene merge commit squash solo en el caso de que algo sea suuuuper estable supongo, fue muy util mostrar de manera grafica todo, si quieren lo mismo para Visual Studio Code esta Git Graph!
@johnnyelcoste
@johnnyelcoste 2 года назад
que agradable video, buenos argumentos a diferentes modo de usos con diferentes casos de usos. sigan asi
@White_King
@White_King 2 года назад
increible video! muchas gracias muchachos!
@jjmuga1
@jjmuga1 2 года назад
Excelente video y explicación inmejorable
@Murzbul
@Murzbul 2 года назад
Viva la libertad carajo!
@compartelo007
@compartelo007 2 года назад
Javier, 101% de acuerdo con le merge por lo que has explicado de sus beneficios
@vladimiririarte3320
@vladimiririarte3320 2 года назад
Gracias por el vídeo!
@b14ckh4wk3
@b14ckh4wk3 2 года назад
yo concuerdo con javier, use la estrategía de merge commit en un trabajo pasado y todo era mucho mas claro , muy legible
@emiliollamasalba3759
@emiliollamasalba3759 2 года назад
Totalmente "team Javi". Llevo toda la vida haciendo merge commit por la misma razón: tengo diogenes-digital y a mucha honra 😁
@emiliollamasalba3759
@emiliollamasalba3759 2 года назад
Aunque nunca force push. La estética es secundaria siempre: la historia no se reescribe. Prefiero una ui que lo ponga como queráis (que haga una especie de squash en memoria, solo como efecto visual)
@ericidrogo
@ericidrogo 10 месяцев назад
Son unos cracks
@wardencode4465
@wardencode4465 2 года назад
Merge commit, pero al oír sobre rebase me llamo mucho la atención y lo tomaré mucho más en cuenta
2 года назад
Buen video!!! Github ofrece la opcion de restore branch una vez la has eliminado. Me quedo con el Squash, por esa razón. Puedo recuperar esas ramas.
@anibalfernandoantonelli3524
@anibalfernandoantonelli3524 2 года назад
"Merge commit" y $git log --all --decorate --oneline --graph Pero es verdad que con la herramienta gráfica se ve bien chulo (se me pego el chulo español... saludos desde Argentina!)
@cristiam87
@cristiam87 2 года назад
yo uso rebase commit configurando con no-ff. Tienes el mismo grafo que merge-commit, pero ademas las ramas que se integran no se cruzan (en el caso que se no se integren en el orden en el que se crearon)
@ricardoinostroza8083
@ricardoinostroza8083 2 года назад
Jajjajka por fin alguien me me entiende, arriba el merge!!
@reynaldocartana7171
@reynaldocartana7171 Год назад
Muy bueno el video, luego de verlo me puse a probar el rebase porque no lo había utilizado anteriormente y me encontré con un gran problema que no se como resolver: si tengo un feature-branch al que quiero hacer rebase para traerme los últimos en main y ese feature-branch tuvo algún merge-commit porque hubo conflictos en algún pull por ejemplo esos merge commit son ignorados en el rebase y hay que volver a hacer la resolución de conflictos! Eso me parece que me anula totalmente la idea de usar rebase en ese caso.....
@bloodbahamut
@bloodbahamut 2 года назад
Merge commit, nada mas que agregar :)
@MultiTelefono
@MultiTelefono 2 года назад
Rebase con la condición que únicamente cuando soy el único que usa la rama
@cachipum
@cachipum 9 месяцев назад
Squash es siempre indicio de un repo sano y saludable, para mi ver otras cosas indica ciertas malas prácticas, como puede ser mucho tiempo con ramas largas o de muchos commits, falta de comunicación a la hora de hacer deployments o integraciones... entra otras posibilidades... y respecto al histórico pues si tienes un proyecto saludable con el propio histórico de main debería ser suficiente referencia, en la práctica cuántas veces mirado la vista atrás en la que hayáis necesitado esos metadatos que se pierden en el squash? pocas, pocas
@kingskull619
@kingskull619 2 года назад
fast-forward / rebase SIEMPRE Pero solo si sigues la regla de 1 commit por feature, esto se cumple con el rebase -i o el ammend, como el equipo decida. Con esto igual automatizas el CHANGE-LOG basado en el commit historry
@MiguelPerez-em8gs
@MiguelPerez-em8gs 2 года назад
Siempre rebase!
@tbl6625
@tbl6625 2 года назад
el video de 10. Os habéis centrado en la rama main pero... ¿utilizaremos la misma estrategia si tenemos develop o partimos de hotfix?
@programacion3694
@programacion3694 Год назад
que bien me vino este video, soy nuevo en el mundo de git y con este video aprendi bastante me encanta como explica javi como siempre explica todo tan facil sin marear tanto por cierto que programa es el que usas en 13:51? yo estoy usando git desktop pero ese tiene mejor pinta
@cachipum
@cachipum 9 месяцев назад
es sourcetree, muy buen programa, te recomiendo probarlo además 100% gratuíto y para macos y windows. Saludos!
@gleycerparra2484
@gleycerparra2484 2 года назад
En el min 22:34 cuando dice que hace un squash, rebase and merge se refiere a que si bien en el botón dice "squash and merge" no es un "merge commit", es mas parecido a un "squash and commit" como bien dice Javi, pero entiendo que se refieren a merge en ese caso no al método "merge commit" sino a la acción de unir las ramas.
@CodelyTV
@CodelyTV 2 года назад
Eso es, en este punto del vídeo mezclamos innecesariamente los conceptos, y Dani (el que escribe este mensaje 😅) se refería a "merge" como concepto general de fusionar ramas/trabajo, no al hecho de crear un "merge commit". Así que es tal y como comentas 🙂
@yahireduardobravotafur5118
@yahireduardobravotafur5118 4 месяца назад
Depende, de que necesite uso merge o rebase.
@ddomingo
@ddomingo 2 года назад
Opino igual Javi. Yo también soy fan del merge commit. El rebase lo veo súper arriesgado la verdad, y el squash es útil si hay mucho commit con WIP de por medio
@cachipum
@cachipum 9 месяцев назад
es que hacer commits con WIP es de parguelas así de claro... y te lo dice uno que se ha hinchado a hacer WIPs durante años hasta ver la luz jaja
@stephanefabriziomargini1476
Hola. He alucinado un poco con el rebase que haceis vosotros en el video, porque cuando yo hago rebase desde la terminal con Git, no me conserva la rama. Es decir, que después del rebase, solo ha quedado 1 rama no 2 como se vé en el minuto 10:48. Como es que vuestro rebase funciona diferente?
@83MrLeo
@83MrLeo 2 года назад
Hasta ahora había trabajado con merge y me molestaba un poco los commits de mergeo, me estaba planteando squash por tener la rama main más limpia, ahora ya no tengo tan claro si cambiar... 🤔
@MultiTelefono
@MultiTelefono 2 года назад
El Squash merge, se podría hacer con un rebase interactivo
@SimdromKorobase
@SimdromKorobase 2 года назад
Yo soy de Merge commit pero desde siempre y nunca he entendido el Rebase, me explico: estamos usando un control de versiones y como control de versiones que es veo 100% necesario tener la granularidad que ofrece el merge commit, el rebase deja muy sucio la Main y el Squash "elimina" informacion útil.
@DIOH
@DIOH 2 года назад
Git rebase bien usado llevas una sola linea de historial de log donde ves paso a paso todos los cambios que se han generado sin necesidad de estar aplicando filtros especiales al git log. Con ese historial limpio puedes generar una visual mas atractiva y ademas generar un CHANGELOG lineal. El git merge embasura mucho pues llena mucho de lineas paralelas el log asi las borres las ramas. La mejor forma de usar el rebase es que todo PR antes de ser publicado haga un rebase con el origin/main a la rama trabajada para que cuando se haga el merge rebase de la rama del feaure quede despues de los ultimos cambios y quede bien limpio el historial.
@Murzbul
@Murzbul 2 года назад
Concuerdo.
@HectorMiuler
@HectorMiuler 2 года назад
En mi rama de trabajo me gusta el rebase, claro si se me hace muy muy complicado pues recurro al merge. Pero en la ramas principales tiene que ser un merge de verdad.
@cachipum
@cachipum 9 месяцев назад
por supuesto, un rebase en la rama principal, sobre todo si reescribe historial... es bastante hardcore y solo en ocasiones críticas se debería hacer, y además hablarlo con el resto del equipo... a mi una vez me quitaron 6 meses de commits por un tema así y me sentó como una patada en los huevos porque ni se consultó...
@carloscorrea_dotpy
@carloscorrea_dotpy 2 года назад
Squash & Merge
@MinombreesSergio
@MinombreesSergio 2 года назад
Yo solo concia el Merge commit, y ahora que veo a los otros, pienso que son versiones inferiores, ¿enserio sacrificarian una posible depuracion por que "se ve sucio"? como dice Javier con el visualizador grafico puedes ver lo que quieras ver, osea no le veo beneficio alguno a borrar esa meta data. Y si yo hago comits en plan, bla bla bla, save changes y similares. Pero me ha servido varias veces ver el historial de cambios modular en ramas trabajadas por otros desarrolladores para ver porque hicieron x cambios en x archivos, ademas cuando se trabaja con un servidor de pruebas unico para muchos desarrolladores hay cosas que quedan incompletas en la rama de desarrollo y me piden devolver o integrar con la rama de QA, asi que puedo ver que cosas si y que cosas estan a medias, cuando hay conflictos tener esta modularidad es super conveniente.
@lenzito
@lenzito Год назад
Yo creo que no es necesario buscar uno, yo pienso que se puede dar por funcionalidad relevante, si un grupo de cambios pertenece a una funcionalidad sería rebase, si hay varias funcionalidades sería merge commit. 🤔
@mayordan9187
@mayordan9187 2 года назад
Squash !!!!!
@mkGarf
@mkGarf 2 года назад
Te apoyo Javier. Merge commit por algo es el clásico. No hay absolutamente ninguna ventaja en los otros para proyectos complejos: Rebase tiene sentido en proyectos de rama única en los que no manejas versiones o cuando por algún motivo has sacado ramas de tus propias features. Y squash cuando realmente la granularidad no tenía sentido y DEBÍA ser reunida en un solo commit.
@suarezgilberto
@suarezgilberto 2 года назад
Rebase
@danielosorio5102
@danielosorio5102 Год назад
Buenos dias desde Colombia medellin ciudad de la eterna primavera., por lo pronto estoy aprendiendo a utilizar los comandos basicos de git con dos ramas sobre las cuales he hecho varios commits sin problema pero cuando intente realizar merge hice un lio barbaro que no entendi, por tal razon estoy tratando de comprender como funciona merge viendo su video.
@cachipum
@cachipum 9 месяцев назад
amigo, siempre haz commits cortos en ramas cortas, divide tu trabajo lo más que puedas cuánto más pequeños sean los cambios más sencillo vas a trabajar tú y el resto del equipo... luego siempre antes de merge de tu PR haz un rebase local en tu ordenador por si la rama main ha sido actualizada así solucionas los pequeños conflictos que puedan surgir y ya subes una rama limpia y lista para merge. Esto siempre es subjetivo, pero bajo mi punto de vista es la forma más profesional de trabajar. Saludos!
@daniels026
@daniels026 2 года назад
Merge commit para no olvidarse del histórico
@arroutado
@arroutado 2 года назад
Hola! He probado Sourcetree pero parece que solo sirve para repositorios GitHub, GitLab, BitBucket, etc. No hay una herramienta similar para poder trabajar con repositorios git privados en mi propio servidor?
@MinombreesSergio
@MinombreesSergio 2 года назад
Sourcetree y gitGraph (de vscode) te sirven tambien en repositorios locales, aunque no le veo beneficio prefiero tener un repositorio privado en un servidor, porsi le pasa algo a mi pc.
@arroutado
@arroutado 2 года назад
@@MinombreesSergio manejo muchos servidores y cuentas dentro de ellos, y es interesante una herramienta visual para agilizar la administración. No están en mi pc local
@nicolasezequielmelluso3273
@nicolasezequielmelluso3273 2 года назад
Squash
@francisconhernandez9948
@francisconhernandez9948 2 года назад
merge commit
2 года назад
merge-commit
@farid5434
@farid5434 6 месяцев назад
merge porque no e investigado los otros,asta este video
@rafaeljohnoballegutierrez7355
@rafaeljohnoballegutierrez7355 8 дней назад
Alguien me puede comentar a que se refieren cuando dicen 'PR'? Por favor.
@theivanv3316
@theivanv3316 8 дней назад
pull request amigo
@edgardejesusmendozaortegon7655
mergee!!!!!
@hacking-multiboot904
@hacking-multiboot904 Год назад
utilizar merge para el ambiente Dev y squas para main 🤔 para mi es la mejor opción, pero no lo se Rick solo soy el becario XD
@Metalung
@Metalung 2 года назад
merge
@Jaxbulid
@Jaxbulid 2 года назад
rebase
@carlostirado8456
@carlostirado8456 2 года назад
squash
@wilmirosa7076
@wilmirosa7076 2 года назад
Rebase + Squash
@carloseduardocasallasfonse5576
@carloseduardocasallasfonse5576 2 года назад
Personalmente no le veo sentido a los merge commits, más con los descriptions genéricos, prefiero la linealidad del squash and merge con un description semántico.
@pablor123
@pablor123 2 года назад
Merge always
@dodo11858
@dodo11858 2 года назад
Merge
@logan76able
@logan76able 2 года назад
merge commit, diógenes al poder.
@ingmoscar2488
@ingmoscar2488 2 года назад
Rebase, y pues con squash jejeje, a menos q el historial sea muy crítica
@felixinit
@felixinit 2 года назад
16:11 la estrategia de merge idónea. Síndrome de Diógenes.
@makiolo
@makiolo Год назад
merge enlaza, rebase copia, y squash copia y compacta.
@xoanxose4715
@xoanxose4715 2 года назад
Yo soy mas de Merge
@blumoc
@blumoc 2 года назад
Squash and merge 😂
@MariodelaCuadraIzquierdo
@MariodelaCuadraIzquierdo Год назад
Mal de diógenes. Jaja.😂
@juanmamani2110
@juanmamani2110 2 года назад
El clásico merge commit, el resto no convence. Puro humo
@DIOH
@DIOH 2 года назад
Como me enferma el mal uso de la palabra "mergear", lo que realmente debería decidirse es "fusionar"
@danielvenegas5845
@danielvenegas5845 Год назад
Maater se llamara siempre master, que luego los ofendiditos, copitos de nieve, y hombres con florcitas le cambien el nombre a main, es solo payasada
@Thorito
@Thorito 2 года назад
Rebase
@soj3da
@soj3da 2 года назад
Squash
@ferxxodev
@ferxxodev 2 года назад
merge
@user-JN33
@user-JN33 2 года назад
rebase
@esaraviam
@esaraviam 2 года назад
squash
@programandoConFelipe
@programandoConFelipe 2 года назад
Merge
@markdomkan3525
@markdomkan3525 2 года назад
merge
@JLP487
@JLP487 2 года назад
merge
@luisalamo2658
@luisalamo2658 Год назад
merge
Далее
Git MERGE vs REBASE: The Definitive Guide
9:39
Просмотров 86 тыс.
Он тоже из IKEA 🙀
00:10
Просмотров 298 тыс.
220 volts ⚡️
00:16
Просмотров 245 тыс.
AWS SQS vs SNS vs EventBridge - ¿Cuál escoger?
21:23
Git MERGE vs REBASE
16:12
Просмотров 1 млн
Git Internals: a Database Perspective - Git Merge 2022
26:40
13 Advanced (but useful) Git Techniques and Shortcuts
8:07
Mejora tu código aplicando Clean Architecture
10:37
Просмотров 76 тыс.
#miniphone
0:16
Просмотров 3,6 млн