<?xml version="1.0" encoding="UTF-8"?><feed xmlns="http://www.w3.org/2005/Atom" xml:lang="es"><title>Chemaclass - code-review</title><subtitle>Tech Lead compartiendo ideas prácticas sobre artesanía del software, TDD, liderazgo, Bitcoin e IA. Artículos, resúmenes de libros y charlas.</subtitle><link rel="self" type="application/atom+xml" href="https://chemaclass.com/es/tags/code-review/atom.xml"/><link rel="alternate" type="text/html" href="https://chemaclass.com"/><generator uri="https://www.getzola.org/">Zola</generator><updated>2025-04-12T00:00:00+00:00</updated><id>https://chemaclass.com/es/tags/code-review/atom.xml</id><entry xml:lang="es"><title>Ship, Show, Ask</title><subtitle>Ajusta la revisión al riesgo, no al ritual</subtitle><category term="agile" scheme="https://chemaclass.com/tags/agile/" label="Agile"/><category term="code-review" scheme="https://chemaclass.com/tags/code-review/" label="Code Review"/><category term="team-management" scheme="https://chemaclass.com/tags/team-management/" label="Team Management"/><category term="productivity" scheme="https://chemaclass.com/tags/productivity/" label="Productivity"/><published>2025-04-12T00:00:00+00:00</published><updated>2025-04-12T00:00:00+00:00</updated><author><name>
Chemaclass</name></author><link rel="alternate" type="text/html" href="https://chemaclass.com/es/blog/ship-show-ask/"/><id>https://chemaclass.com/es/blog/ship-show-ask/</id><summary type="html">No todos los cambios necesitan la misma revisión. Ship, Show, Ask ajusta el proceso de revisión al riesgo del cambio, para que los equipos sigan entregando sin perder calidad ni colaboración.</summary><content type="html">&lt;p>En equipos que se mueven rápido, una de las mayores tensiones que enfrentamos es esta: ¿Cómo seguimos entregando sin comprometer la calidad o la colaboración?&lt;/p>
&lt;p>El enfoque tradicional de pull requests a menudo ralentiza las cosas. Esperamos horas, o días, por aprobaciones, incluso para cambios triviales. Pero la alternativa, mergear directamente, puede sentirse imprudente o invisible para el resto del equipo.&lt;/p>
&lt;span id="continue-reading">&lt;/span>
&lt;p>Ahí es donde entra la estrategia Ship-Show-Ask. Originalmente descrita por &lt;a rel="external" href="https://martinfowler.com/articles/ship-show-ask.html">Rouan Wilsenach&lt;/a>, este modelo ofrece una forma más flexible y reflexiva de manejar cambios de código. No es solo una estrategia de branching, es un cambio en cómo los equipos colaboran, confían y toman propiedad.&lt;/p>
&lt;h2 id="que-es-ship-show-ask">¿Qué es Ship, Show, Ask?
&lt;a class="heading-anchor" href="#que-es-ship-show-ask" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Es un modelo que clasifica los cambios basándose en cuánta revisión requieren:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Ship&lt;/strong>: Mergear directamente a main (sin PR)&lt;/li>
&lt;li>&lt;strong>Show&lt;/strong>: Abrir un pull request, pero mergearlo inmediatamente&lt;/li>
&lt;li>&lt;strong>Ask&lt;/strong>: Abrir un pull request y esperar revisión&lt;/li>
&lt;/ul>
&lt;p>La idea clave es usar Ask como el default para la mayoría del trabajo, recurrir a Show cuando el contexto lo hace seguro, y evitar Ship (o reservarlo para casos extremadamente triviales, si se usa).&lt;/p>
&lt;h2 id="por-que-prefiero-ask-y-show">Por qué prefiero Ask y Show
&lt;a class="heading-anchor" href="#por-que-prefiero-ask-y-show" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Trata cada cambio, incluso los pequeños, como algo que vale la pena compartir. Siempre creo una rama y abro un PR. Proporciona visibilidad, construye un historial compartido, y crea un espacio para opiniones opcionales o asíncronas. Es &lt;a href="/es/blog/working-with-the-garage-door-open/">trabajar con la puerta del garaje abierta&lt;/a>, aplicado al código.&lt;/p>
&lt;p>Pero no todos los PRs necesitan seguir el mismo proceso de revisión.&lt;/p>
&lt;h3 id="por-defecto-uso-ask">Por defecto uso Ask
&lt;a class="heading-anchor" href="#por-defecto-uso-ask" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>Prefiero esperar una revisión de un compañero cuando:&lt;/p>
&lt;ul>
&lt;li>El cambio involucra lógica arriesgada o compleja&lt;/li>
&lt;li>Podría impactar a otros desarrolladores o equipos&lt;/li>
&lt;li>Introduce decisiones arquitectónicas o estructurales que no se han acordado aún&lt;/li>
&lt;li>Se beneficia de input compartido o un segundo par de ojos&lt;/li>
&lt;/ul>
&lt;p>Dicho esto, &lt;strong>Ask no significa sobre-ingeniar el proceso&lt;/strong>. A menudo, un revisor reflexivo es suficiente, especialmente si está familiarizado con el dominio. Si el cambio toca un área específica, pediré la opinión de la persona que posee (o mejor entiende) esa parte del código. No necesita involucrar a todos.&lt;/p>
&lt;blockquote>
&lt;p>En equipos pequeños, requerir dos aprobaciones en cada PR puede convertirse rápidamente en un cuello de botella y ralentizar la entrega de valor. El objetivo es alineamiento y calidad, no ceremonia por sí misma.&lt;/p>
&lt;/blockquote>
&lt;h3 id="uso-show-para-cambios-seguros-y-de-bajo-impacto">Uso Show para cambios seguros y de bajo impacto
&lt;a class="heading-anchor" href="#uso-show-para-cambios-seguros-y-de-bajo-impacto" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>Podría mergear inmediatamente cuando:&lt;/p>
&lt;ul>
&lt;li>Practico &lt;a href="/es/blog/effective-pair-programming/">pair programming&lt;/a> (la revisión ya ocurrió en vivo)&lt;/li>
&lt;li>Corrijo erratas o enlaces rotos&lt;/li>
&lt;li>Actualizo documentación o changelogs&lt;/li>
&lt;li>Refactorizo dentro de un módulo que poseo&lt;/li>
&lt;li>Añado tests para comportamiento existente&lt;/li>
&lt;li>Hago ajustes no funcionales (formato, logs, comentarios)&lt;/li>
&lt;li>Aplico ajustes de UI o estilo sin cambio de lógica&lt;/li>
&lt;/ul>
&lt;p>El principio clave: &lt;strong>Show es opcional, nunca obligatorio&lt;/strong>. Elijo Show solo si el cambio es de bajo riesgo y encaja con las expectativas del equipo. Cuando uso Show, me hago responsable del resultado. La responsabilidad es mía.&lt;/p>
&lt;h2 id="por-que-este-enfoque-funciona-para-mi">Por qué este enfoque funciona para mí
&lt;a class="heading-anchor" href="#por-que-este-enfoque-funciona-para-mi" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Este modelo me ayuda a:&lt;/p>
&lt;ul>
&lt;li>Entregar más rápido sin comprometer la calidad&lt;/li>
&lt;li>Trabajar con mayor autonomía y propiedad&lt;/li>
&lt;li>Evitar cuellos de botella, especialmente en equipos pequeños o async&lt;/li>
&lt;li>Fomentar una mentalidad de confianza, responsabilidad y toma de decisiones reflexiva&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>Cambia el objetivo de obtener aprobación a compartir intención y ser dueño del resultado.&lt;/p>
&lt;/blockquote>
&lt;h2 id="que-hace-un-buen-show">¿Qué hace un buen “Show”?
&lt;a class="heading-anchor" href="#que-hace-un-buen-show" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Un PR Show podría ser la elección correcta cuando:&lt;/p>
&lt;ul>
&lt;li>El cambio es trivial y dentro de mi área de responsabilidad&lt;/li>
&lt;li>Nadie está disponible para revisar, y esperar bloquearía el progreso&lt;/li>
&lt;li>El PR incluye contexto y razonamiento claro&lt;/li>
&lt;li>Estoy abierto a comentarios post-merge&lt;/li>
&lt;li>Estoy listo para hacer ajustes de seguimiento si es necesario&lt;/li>
&lt;/ul>
&lt;h2 id="consejos-para-que-funcione">Consejos para que funcione
&lt;a class="heading-anchor" href="#consejos-para-que-funcione" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Algunos consejos prácticos de la experiencia:&lt;/p>
&lt;ul>
&lt;li>Clarifica las expectativas del equipo sobre cuándo usar Show vs Ask&lt;/li>
&lt;li>Siempre proporciona contexto en tu PR, incluso si mergeas inmediatamente&lt;/li>
&lt;li>Escribe tests para cualquier lógica o comportamiento nuevo&lt;/li>
&lt;li>Da la bienvenida a los comentarios post-merge, la revisión no termina en el merge&lt;/li>
&lt;li>Reflexiona regularmente como equipo y ajusta el enfoque según sea necesario&lt;/li>
&lt;/ul>
&lt;hr />
&lt;p>Ship, Show, Ask es más que higiene de branching. Construye una cultura de claridad, responsabilidad y confianza, donde los desarrolladores se mueven rápido sin dejar de ser reflexivos.&lt;/p>
&lt;p>Si estás cansado de colas lentas de PR y aprobaciones sobre-ingeniadas, pruébalo en tu próximo cambio. ¿Quieres profundizar? Lee el &lt;a rel="external" href="https://martinfowler.com/articles/ship-show-ask.html">post original de Rouan Wilsenach&lt;/a>.&lt;/p>
&lt;blockquote>
&lt;p>Ajusta la revisión al riesgo. Sé dueño de lo que mergeas.&lt;/p>
&lt;/blockquote>
&lt;p>&lt;img src="/images/blog/2025-04-12/footer.webp" alt="blog-footer" />&lt;/p></content></entry><entry xml:lang="es"><title>Pull Requests vs Pair Programming</title><subtitle>¿Por qué elegir cuando puedes tener ambos?</subtitle><category term="pair-programming" scheme="https://chemaclass.com/tags/pair-programming/" label="Pair Programming"/><category term="code-review" scheme="https://chemaclass.com/tags/code-review/" label="Code Review"/><category term="agile" scheme="https://chemaclass.com/tags/agile/" label="Agile"/><category term="communication" scheme="https://chemaclass.com/tags/communication/" label="Communication"/><published>2021-04-01T00:00:00+00:00</published><updated>2021-04-01T00:00:00+00:00</updated><author><name>
Chemaclass</name></author><link rel="alternate" type="text/html" href="https://chemaclass.com/es/blog/pull-request-vs-pair-prog/"/><id>https://chemaclass.com/es/blog/pull-request-vs-pair-prog/</id><summary type="html">Hablemos de los beneficios de los Pull Requests y el Pair Programming, y mis reflexiones sobre estos después de algunos años de experiencia con ellos.</summary><content type="html">&lt;p>Hablemos de los beneficios de los Pull Requests y el Pair Programming, y mis reflexiones sobre estos después de algunos años de experiencia con ellos.&lt;/p>
&lt;span id="continue-reading">&lt;/span>&lt;h2 id="pull-requests">Pull Requests
&lt;a class="heading-anchor" href="#pull-requests" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Un Pull Request (PR) es una forma de mostrar tus cambios de código para que se comparen fácilmente con el código existente. Es parte de un flujo de trabajo que ayuda a compartir conocimiento sobre los cambios que se hacen en el sistema.&lt;/p>
&lt;blockquote>
&lt;p>Un Pull Request es el momento donde pides a tus compañeros que revisen y examinen tus cambios de código.&lt;/p>
&lt;/blockquote>
&lt;p>Normalmente, también se usa:&lt;/p>
&lt;ol>
&lt;li>Para discusiones sobre estilo de código.&lt;/li>
&lt;li>Para detectar bugs potenciales.&lt;/li>
&lt;li>Para discusiones de arquitectura o diseño una vez que la solución está hecha.&lt;/li>
&lt;/ol>
&lt;h3 id="los-pull-requests-no-son-la-mejor-herramienta-para-todo">Los Pull Requests no son la mejor herramienta para todo
&lt;a class="heading-anchor" href="#los-pull-requests-no-son-la-mejor-herramienta-para-todo" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>El problema es que los PRs suelen estar listos cuando la funcionalidad o bug ya está terminado, en la última etapa del desarrollo.
Un PR es una “propuesta de cambio ya hecha para fusionar en el sistema actual”.&lt;/p>
&lt;p>El concepto de “Draft PR” existe para indicar que el PR aún no está listo para fusionar, pero ese es otro tema.&lt;/p>
&lt;p>Los Pull Requests son una de las mejores herramientas para compartir conocimiento sobre cambios en el sistema, pero a veces se usan mal:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Discusiones sobre estilo de código&lt;/strong>. El estilo no debería discutirse en un PR. Ya debería haber un CI ejecutando un linter. Si quieres cambiar algo, proponlo en el linter, no en un PR aleatorio.&lt;/li>
&lt;li>&lt;strong>Detectar bugs&lt;/strong>. Los bugs y comportamiento esperado deberían cubrirse con tests automatizados. El desarrollador es el primer responsable.&lt;/li>
&lt;li>&lt;strong>Discusiones de arquitectura o diseño&lt;/strong>. Cuando una solución está desarrollada y lista para revisión, es difícil “deshacerla” y reescribirla. “¿Por qué lo harías? Ya está hecho y funciona.”&lt;/li>
&lt;/ol>
&lt;p>Tener a alguien extra revisando decisiones de diseño puede ayudar, pero podríamos haber resuelto posibles desacuerdos antes.&lt;/p>
&lt;h3 id="cual-deberia-ser-el-proposito-de-un-pull-request">¿Cuál debería ser el propósito de un Pull Request?
&lt;a class="heading-anchor" href="#cual-deberia-ser-el-proposito-de-un-pull-request" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;ol>
&lt;li>Compartir conocimiento sobre los cambios propuestos con el equipo.&lt;/li>
&lt;li>Asegurar que el equipo está alineado con los múltiples cambios que se envían cada día. Sí, puede incluir verificar el diseño, pero… ¿y si ya es demasiado tarde?&lt;/li>
&lt;/ol>
&lt;h2 id="pair-programming">Pair Programming
&lt;a class="heading-anchor" href="#pair-programming" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>El “Pair Programming” puede entenderse de varias formas: pair thinking, roles conductor-navegador, live coding… En realidad es más sencillo de lo que parece:&lt;/p>
&lt;ul>
&lt;li>Miras y ayudas a la otra persona a escribir código, o&lt;/li>
&lt;li>Escribes mientras tienes otro par de ojos mirándote y ayudándote.&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>El Pair Programming ayuda al equipo a trabajar juntos.&lt;/p>
&lt;/blockquote>
&lt;p>El pair programming es trabajar con un cerebro extra y otro par de ojos. La clave es &lt;strong>construir un contexto&lt;/strong> donde ambos &lt;strong>compartan el mismo objetivo&lt;/strong> para encontrar la &lt;strong>mejor solución posible&lt;/strong>, aprendiendo el uno del otro.
No se trata de dar con la mejor solución desde el principio. Se trata de hacerlo funcionar, compartir ideas y mejorar juntos. Luego ya refactorizas y limpias el código.&lt;/p>
&lt;h3 id="el-pair-programming-es-una-revision-de-codigo-continua">El Pair Programming es una revisión de código continua
&lt;a class="heading-anchor" href="#el-pair-programming-es-una-revision-de-codigo-continua" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>Los Pull Requests son una forma asíncrona de compartir cambios de código, mientras que el Pair Programming es totalmente &lt;strong>síncrono&lt;/strong> porque sucede al mismo tiempo.&lt;/p>
&lt;p>Los Pull Requests y el Pair Programming no son excluyentes, pueden coexistir. Son herramientas, y hay que elegirlas con criterio según nuestros objetivos.&lt;/p>
&lt;p>El miedo más común que he visto al animar a hacer Pair Programming es la timidez. A algunas personas no les gusta tener ojos encima mientras programan:&lt;/p>
&lt;ul>
&lt;li>Miedo a no saber qué programar o por dónde empezar.&lt;/li>
&lt;li>Miedo a que otros se rían de sus soluciones.&lt;/li>
&lt;li>Miedo a no tener éxito en público.&lt;/li>
&lt;li>Miedo a no poder desarrollar la solución esperada por múltiples razones: malentender la tarea o falta de conocimiento.&lt;/li>
&lt;li>Miedo a cambiar de opinión frente a otros.&lt;/li>
&lt;li>Miedo a discutir y tomar decisiones en voz alta.&lt;/li>
&lt;li>Miedo a estar en desacuerdo con otros.&lt;/li>
&lt;/ul>
&lt;h2 id="despues-de-varios-anos-de-experiencia-en-este-tema">Después de varios años de experiencia en este tema
&lt;a class="heading-anchor" href="#despues-de-varios-anos-de-experiencia-en-este-tema" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>El patrón que rechaza el Pair Programming es básicamente el miedo a salir de tu zona de confort. Y viene de no entender qué es realmente el Pair Programming.&lt;/p>
&lt;p>No se trata de presumir ni de ser juzgado, sino de ser transparente (mostrar tus habilidades tal como son) y mejorar como equipo.&lt;/p>
&lt;p>Programar es un proceso iterativo que requiere refactorizar continuamente nuestra forma de pensar. Programar con otra persona (con otra forma de pensar) ayuda al equipo a sacar lo mejor de cada uno y a descartar malos hábitos.&lt;/p>
&lt;p>El Pair Programming no tiene que usarse siempre ni para todo. Es una herramienta flexible: puedes elegir cómo, cuándo y por qué.&lt;/p>
&lt;p>Una regla personal: antes de empezar tareas que tocan múltiples módulos o reglas de negocio complejas, haz un Pair Thinking rápido con un colega más experimentado en ese área.&lt;/p>
&lt;blockquote>
&lt;p>Todo depende de un contexto y personas particulares: los desarrolladores, las parejas, las tareas, el estado de ánimo.&lt;/p>
&lt;/blockquote>
&lt;h3 id="todavia-incomodo-con-el-pair-programming">¿Todavía incómodo con el Pair Programming?
&lt;a class="heading-anchor" href="#todavia-incomodo-con-el-pair-programming" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>Si aún te sientes incómodo con alguien a tu lado mientras programas, quizás no estés contento con tu propio código o con el proceso que sigues. Mi forma favorita de trabajar esto es practicar por mi cuenta y mejorar mis habilidades como desarrollador.&lt;/p>
&lt;ul>
&lt;li>Crea y juega con tus propios proyectos personales.&lt;/li>
&lt;li>Trabaja en katas de código por tu cuenta y con otros.&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>La práctica hace al maestro.&lt;/p>
&lt;/blockquote>
&lt;h2 id="manten-las-pull-requests-anade-pair-programming">Mantén las pull requests, añade pair programming
&lt;a class="heading-anchor" href="#manten-las-pull-requests-anade-pair-programming" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;ul>
&lt;li>No me malinterpretes, los Pull Requests son geniales. Sigue haciéndolos.&lt;/li>
&lt;li>La colaboración en equipo es esencial. El Pair Programming apunta a esto.&lt;/li>
&lt;li>El Pair Programming anima al equipo a trabajar juntos proactivamente.&lt;/li>
&lt;li>No tengas miedo de programar mientras tienes ojos a tu alrededor. Haz preguntas cuando algo no esté claro. Pide ayuda cuando no sepas cómo resolver algo.&lt;/li>
&lt;/ul>
&lt;blockquote>
&lt;p>Está totalmente bien no saber todo. Lo más importante es saber cómo trabajar juntos.&lt;/p>
&lt;/blockquote>
&lt;p>&lt;img src="/images/blog/2021-04-01/footer.webp" alt="dos desarrolladores haciendo pair programming" />&lt;/p></content></entry><entry xml:lang="es"><title>Compartiendo tus Parches de Git</title><subtitle>Otra forma de compartir sugerencias rápidas con tu equipo</subtitle><category term="git" scheme="https://chemaclass.com/tags/git/" label="Git"/><category term="code-review" scheme="https://chemaclass.com/tags/code-review/" label="Code Review"/><category term="communication" scheme="https://chemaclass.com/tags/communication/" label="Communication"/><category term="pair-programming" scheme="https://chemaclass.com/tags/pair-programming/" label="Pair Programming"/><published>2020-12-01T00:00:00+00:00</published><updated>2020-12-01T00:00:00+00:00</updated><author><name>
Chemaclass</name></author><link rel="alternate" type="text/html" href="https://chemaclass.com/es/blog/sharing-git-patches/"/><id>https://chemaclass.com/es/blog/sharing-git-patches/</id><summary type="html">Descubre otra forma de compartir sugerencias con tu equipo de desarrollo.</summary><content type="html">&lt;p>Descubre otra forma de compartir sugerencias con tu equipo de desarrollo.&lt;/p>
&lt;span id="continue-reading">&lt;/span>&lt;h3 id="imagina-esta-situacion">Imagina esta situación
&lt;a class="heading-anchor" href="#imagina-esta-situacion" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;p>Estás revisando un Pull Request (PR), y ves algunas mejoras menores o sugerencias que te gustaría compartir con el autor. Podrías escribir algunos comentarios, y normalmente, eso sería suficiente.&lt;/p>
&lt;p>Imagina que para transmitir tu “idea completa” necesitarías cambiar algunos archivos porque simplemente comunicar la imagen completa acabará en un comentario enorme que podría no ser tan claro como podría ser.&lt;/p>
&lt;h2 id="que-posibilidades-hay-aparte-de-solo-comentarios-en-un-pr">¿Qué posibilidades hay aparte de solo comentarios en un PR?
&lt;a class="heading-anchor" href="#que-posibilidades-hay-aparte-de-solo-comentarios-en-un-pr" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Bueno, hay múltiples opciones. La clave es ser consciente de ellas y usarlas sabiamente dependiendo de la prioridad de la tarea y los cambios en sí:&lt;/p>
&lt;ul>
&lt;li>Como ya se mencionó, escribir un comentario como retroalimentación es una buena idea por defecto, pero no la única.&lt;/li>
&lt;li>Siempre podemos hacer algo de pair-thinking, hablar en cualquier momento. La comunicación siempre es buena para aclarar la posible incertidumbre.&lt;/li>
&lt;li>Compartir tus parches de git es otra buena opción.&lt;/li>
&lt;/ul>
&lt;h2 id="git-diff-al-rescate">¡Git diff al rescate!
&lt;a class="heading-anchor" href="#git-diff-al-rescate" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>¿Y si tú (como revisor) pudieras compartir tu idea sin ningún commit o comentario en el PR, pero compartiendo tus cambios directamente con el autor?&lt;/p>
&lt;p>Bueno, eso es realmente posible y muy fácil. Como ya sabes, el comando git diff te da las diferencias entre dos ramas cualesquiera.&lt;/p>
&lt;pre class="giallo" style="color-scheme: light dark; color: light-dark(#24292E, #E1E4E8); background-color: light-dark(#FFFFFF, #24292E);">&lt;code data-lang="shellscript">&lt;span class="giallo-l">&lt;span style="color: light-dark(#6F42C1, #B392F0);">git&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> diff&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> origin&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> develop&lt;/span>&lt;span style="color: light-dark(#D73A49, #F97583);"> &amp;gt;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ../my-origin-develop.patch&lt;/span>&lt;/span>&lt;/code>&lt;/pre>
&lt;p>Lo que estamos haciendo aquí es redirigir la salida del comando diff a un archivo (también conocido como: parche), para poder compartir esa salida con cualquier otro compañero de equipo.&lt;/p>
&lt;h2 id="y-ahora-que">¿Y ahora qué?
&lt;a class="heading-anchor" href="#y-ahora-que" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Bueno, teniendo ese archivo de parche, es bastante fácil aplicar esos cambios en tu máquina local sin hacer ningún commit:&lt;/p>
&lt;pre class="giallo" style="color-scheme: light dark; color: light-dark(#24292E, #E1E4E8); background-color: light-dark(#FFFFFF, #24292E);">&lt;code data-lang="shellscript">&lt;span class="giallo-l">&lt;span style="color: light-dark(#6F42C1, #B392F0);">git&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> apply&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ../my-origin-develop.patch&lt;/span>&lt;/span>&lt;/code>&lt;/pre>
&lt;p>Aplicar este parche simplemente cambiará tu sistema local de la misma manera que se creó el parche.&lt;/p>
&lt;h2 id="como-hacerlo-por-pasos">“Cómo hacerlo” por pasos
&lt;a class="heading-anchor" href="#como-hacerlo-por-pasos" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h2>
&lt;p>Dividamos las responsabilidades en dos: el creador del parche y su usuario:&lt;/p>
&lt;h3 id="el-creador-del-parche-la-persona-que-creara-el-parche">El creador del parche: la persona que creará el parche
&lt;a class="heading-anchor" href="#el-creador-del-parche-la-persona-que-creara-el-parche" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;pre class="giallo" style="color-scheme: light dark; color: light-dark(#24292E, #E1E4E8); background-color: light-dark(#FFFFFF, #24292E);">&lt;code data-lang="shellscript">&lt;span class="giallo-l">&lt;span style="color: light-dark(#6A737D, #6A737D);">#&lt;/span>&lt;span style="color: light-dark(#6A737D, #6A737D);"> Cambia a esa rama&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6F42C1, #B392F0);">$&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ~/myProject&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git:&lt;/span>&lt;span>(&lt;/span>&lt;span style="color: light-dark(#6F42C1, #B392F0);">the-branch&lt;/span>&lt;span>)&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ➜&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> pull&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> origin&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> the-branch&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6A737D, #6A737D);">#&lt;/span>&lt;span style="color: light-dark(#6A737D, #6A737D);"> Haz tus sugerencias y cambios en la rama objetivo&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6A737D, #6A737D);">#&lt;/span>&lt;span style="color: light-dark(#6A737D, #6A737D);"> Genera el archivo de parche usando el comando diff&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6F42C1, #B392F0);">$&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ~/myProject&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git:&lt;/span>&lt;span>(&lt;/span>&lt;span style="color: light-dark(#6F42C1, #B392F0);">the-branch&lt;/span>&lt;span>)&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ➜&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> diff&lt;/span>&lt;span style="color: light-dark(#D73A49, #F97583);"> &amp;gt;&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ../your-diff.patch&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6A737D, #6A737D);">#&lt;/span>&lt;span style="color: light-dark(#6A737D, #6A737D);"> Comparte el archivo de parche con el autor del PR&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;h3 id="el-usuario-del-parche-la-persona-que-vera-el-parche">El usuario del parche: la persona que verá el parche
&lt;a class="heading-anchor" href="#el-usuario-del-parche-la-persona-que-vera-el-parche" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h3>
&lt;pre class="giallo" style="color-scheme: light dark; color: light-dark(#24292E, #E1E4E8); background-color: light-dark(#FFFFFF, #24292E);">&lt;code data-lang="shellscript">&lt;span class="giallo-l">&lt;span style="color: light-dark(#6A737D, #6A737D);">#&lt;/span>&lt;span style="color: light-dark(#6A737D, #6A737D);"> Asegúrate de estar en esa rama&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6F42C1, #B392F0);">$&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ~/myProject&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git:&lt;/span>&lt;span>(&lt;/span>&lt;span style="color: light-dark(#6F42C1, #B392F0);">the-branch&lt;/span>&lt;span>)&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ➜&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> pull&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> origin&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> the-branch&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6A737D, #6A737D);">#&lt;/span>&lt;span style="color: light-dark(#6A737D, #6A737D);"> Aplica el archivo de parche&lt;/span>&lt;/span>
&lt;span class="giallo-l">&lt;span style="color: light-dark(#6F42C1, #B392F0);">$&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ~/myProject&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git:&lt;/span>&lt;span>(&lt;/span>&lt;span style="color: light-dark(#6F42C1, #B392F0);">the-branch&lt;/span>&lt;span>)&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ➜&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> git&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> apply&lt;/span>&lt;span style="color: light-dark(#032F62, #9ECBFF);"> ../your-diff.patch&lt;/span>&lt;/span>&lt;/code>&lt;/pre>
&lt;hr />
&lt;h4 id="referencias">Referencias
&lt;a class="heading-anchor" href="#referencias" title="Copy link" aria-label="Link to this section">#&lt;/a>
&lt;/h4>
&lt;ul>
&lt;li>&lt;a rel="external" href="https://git-scm.com/docs/git-apply">Documentación oficial de “git apply”&lt;/a>&lt;/li>
&lt;/ul></content></entry></feed>