{"id":474,"date":"2026-09-14T12:00:00","date_gmt":"2026-09-14T12:00:00","guid":{"rendered":"https:\/\/equipomedios.com\/blog\/?p=474"},"modified":"2026-09-13T01:54:52","modified_gmt":"2026-09-13T01:54:52","slug":"7-errores-que-cometen-los-devs-junior-con-git-y-como-evitarlos","status":"publish","type":"post","link":"https:\/\/equipomedios.com\/blog\/7-errores-que-cometen-los-devs-junior-con-git-y-como-evitarlos\/","title":{"rendered":"7 errores que cometen los devs junior con Git (y c\u00f3mo evitarlos)"},"content":{"rendered":"<p>Casi todos los que empezamos con Git rompimos un repositorio al menos una vez. La diferencia entre un junior y un senior no es que no se equivoquen, es que ya saben c\u00f3mo salir del l\u00edo. Ac\u00e1 van los errores m\u00e1s comunes y c\u00f3mo evitarlos.<\/p>\n<h3><strong>1. Mensajes de commit sin sentido<\/strong><\/h3>\n<p>\u00abfix\u00bb, \u00abcambios\u00bb, \u00abasd\u00bb. Un mensaje de commit deber\u00eda explicar el <em>por qu\u00e9<\/em>, no solo el qu\u00e9. Convenci\u00f3n simple: <code>tipo: descripci\u00f3n corta<\/code> (ej. <code>fix: corrige validaci\u00f3n de email en registro<\/code>).<\/p>\n<h3><strong>2. Trabajar directo sobre main<\/strong><\/h3>\n<p>Sin darse cuenta, muchos junior programan y commitean directo en la rama principal. Un error ah\u00ed puede romper el c\u00f3digo que todo el equipo usa. Soluci\u00f3n: crear una rama por feature o fix, por chica que sea la tarea.<\/p>\n<h3><strong>3. Hacer <code>git push --force<\/code> sin entender qu\u00e9 hace<\/strong><\/h3>\n<p>Sobreescribe el historial remoto y puede borrar el trabajo de otros. Si necesit\u00e1s forzar un push, usa <code>--force-with-lease<\/code>, que al menos verifica que no est\u00e9s pisando cambios ajenos.<\/p>\n<h3><strong>4. No hacer pull antes de empezar a trabajar<\/strong><\/h3>\n<p>Empezar a programar sobre una versi\u00f3n vieja del c\u00f3digo genera conflictos innecesarios. H\u00e1bito simple: <code>git pull<\/code> apenas te sent\u00e1s a trabajar, siempre.<\/p>\n<h3><strong>5. Resolver conflictos borrando el c\u00f3digo del otro<\/strong><\/h3>\n<p>Ante un conflicto, la tentaci\u00f3n es quedarse con \u00abtu\u00bb versi\u00f3n y borrar la otra sin leerla. Eso puede eliminar l\u00f3gica importante. Le\u00e9 ambas versiones, entend\u00e9 qu\u00e9 hace cada una, y combin\u00e1 si hace falta.<\/p>\n<h3><strong>6. No usar <code>.gitignore<\/code><\/strong><\/h3>\n<p>Subir carpetas como <code>node_modules<\/code>, archivos <code>.env<\/code> con credenciales, o binarios pesados infla el repositorio y puede filtrar secretos. Configur\u00e1 el <code>.gitignore<\/code> desde el primer commit del proyecto.<\/p>\n<h3><strong>7. No entender la diferencia entre <code>merge<\/code> y <code>rebase<\/code><\/strong><\/h3>\n<p>Usarlos sin saber qu\u00e9 hace cada uno genera historiales confusos o duplicados. Regla simple para empezar: <code>merge<\/code> para integrar ramas compartidas, <code>rebase<\/code> solo en tu rama personal antes de compartirla.<\/p>\n<p><strong>La buena noticia:<\/strong> ning\u00fan error de esta lista es irreversible si lo detect\u00e1s a tiempo. Git guarda casi todo en su historial interno (<code>git reflog<\/code> es tu mejor amigo en un momento de p\u00e1nico).<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Los 7 errores m\u00e1s comunes que cometen los desarrolladores junior al usar Git, con la soluci\u00f3n concreta para cada uno.<\/p>\n","protected":false},"author":1,"featured_media":490,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_jetpack_memberships_contains_paid_content":false,"footnotes":"","jetpack_publicize_message":"","jetpack_publicize_feature_enabled":true,"jetpack_social_post_already_shared":true,"jetpack_social_options":{"image_generator_settings":{"template":"highway","enabled":false},"version":2}},"categories":[31,39],"tags":[],"class_list":["post-474","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-herramientas","category-programacion"],"jetpack_publicize_connections":[],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/equipomedios.com\/blog\/wp-content\/uploads\/2026\/09\/errores-git-devs-junior.jpg?fit=1080%2C720&ssl=1","jetpack_sharing_enabled":true,"jetpack-related-posts":[],"jetpack_likes_enabled":true,"_links":{"self":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/474","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/comments?post=474"}],"version-history":[{"count":1,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/474\/revisions"}],"predecessor-version":[{"id":491,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/posts\/474\/revisions\/491"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/media\/490"}],"wp:attachment":[{"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/media?parent=474"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/categories?post=474"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/equipomedios.com\/blog\/wp-json\/wp\/v2\/tags?post=474"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}