Descripción del origen interno con bifurcaciones

Completado

Las personas bifurcan repositorios cuando quieren cambiar el código de un repositorio al que no tienen acceso de escritura.

Si no tiene acceso de escritura, no forma parte del equipo que contribuye en ese repositorio, por lo que ¿por qué iba a querer modificar el repositorio de código?

Tienden a buscar razones técnicas para mejorar algo en nuestro trabajo.

Es posible que encuentre una forma mejor de aplicar la solución o de aumentar la funcionalidad contribuyendo o mejorando una característica existente.

Puede bifurcar repositorios si se encuentra en una de las siguientes situaciones:

  • Quiero realizar un cambio.
  • Creo que el proyecto es interesando y puede que quiera utilizarlo.
  • Quiero usar código en ese repositorio como punto de partida para mi proyecto.

Se recomienda que los equipos de software contribuyan en todos los proyectos internamente, no solo en sus proyectos de software.

Las bifurcaciones son una excelente manera de fomentar una cultura de código abierto interno.

Las bifurcaciones son una incorporación reciente a los repositorios de Git de Azure DevOps.

En este documento, le enseñamos a bifurcar un repositorio existente y a contribuir con los cambios de forma ascendente a través de una solicitud de incorporación de cambios.

Preparación

Una bifurcación comienza con todo el contenido de su repositorio ascendente (original).

Cuando crea una bifurcación en Azure DevOps, puede incluir todas las ramas o usar solo la rama predeterminada.

Una bifurcación no copia los permisos, las directivas ni las definiciones de compilación del repositorio que se va a bifurcar.

Una vez creada una bifurcación, los nuevos archivos, carpetas y ramas no se comparten entre los repositorios a menos que inicie una solicitud de incorporación de cambios.

Las solicitudes de incorporación de cambios se admiten en cualquier dirección: de la bifurcación al repositorio ascendente o del repositorio ascendente a la bifurcación.

El enfoque más común para una solicitud de incorporación de cambios será de la bifurcación al repositorio ascendente.

Cómo hacerlo

  1. Elija el botón Bifurcar (1), a continuación, seleccione el proyecto donde quiera que se cree la bifurcación (2). Asigne un nombre a la bifurcación y elija el botón Bifurcar (3).

  2. Una vez que la bifurcación esté lista, clónela mediante la línea de comandos o un IDE, como Visual Studio. La bifurcación será su origen remoto. Para mayor comodidad, querrá agregar el repositorio ascendente (desde donde habrá realizado la bifurcación) como repositorio ascendente con nombre remoto. En la línea de comandos, escriba lo siguiente:

    git remote add upstream {upstream_url}
    
  3. Es posible trabajar directamente en la rama principal; esta bifurcación es la copia del repositorio. Sin embargo, se recomienda seguir trabajando en una rama puntual. Permite mantener varias series de tareas independientes de forma simultánea. Además, reducirá las confusiones más adelante cuando quiera sincronizar los cambios en la bifurcación. Realice y confirme los cambios como lo haría normalmente. Cuando termine las modificaciones, insértelas en el origen (la bifurcación).

  4. Abra una solicitud de incorporación de cambios de la bifurcación al repositorio ascendente. El repositorio ascendente aplicará todas las directivas necesarias para los revisores y las compilaciones. Una vez que se cumplan todas las directivas, se podrá completar la PR y los cambios se convertirán en una parte permanente del repositorio ascendente:
    Diagrama que muestra Crear una solicitud de cambios.

  5. Cuando se acepte la solicitud de incorporación de cambios ascendente, debe asegurarse de que la bifurcación refleja el estado de repositorio más reciente. Recomendamos volverse a basar en la rama principal del repositorio ascendente (contando que la rama principal es la rama de desarrollo principal). En la línea de comandos, ejecute lo siguiente:

    git fetch upstream main
    git rebase upstream/main
    git push origin
    

Para obtener más información sobre Git, consulte: