Acerca de las bifurcaciones
Si quieres contribuir al proyecto de otra persona pero no tienes permiso para hacer cambios directamente, puedes crear tu propia copia del proyecto, hacer actualizaciones y, después, sugerirlas para su inclusión en el proyecto principal. Este proceso suele denominarse flujo de trabajo de "bifurcación y solicitud de cambios".
Crear una copia propia (o "bifurcación") de un proyecto es como crear un área de trabajo nueva que comparte código con el proyecto original. Esto es útil para los proyectos de código abierto o en cualquier momento que no tengas acceso de escritura al proyecto original.
Una vez que hayas realizado cambios en tu copia puedes enviarlos como solicitud de cambios, lo cual es una forma de proponer cambios en el proyecto principal. Para obtener más información, vea «Bifurcar un repositorio».
Creación de una copia propia de un proyecto
En este tutorial se usa el proyecto Spoon-Knife, un repositorio de prueba hospedado en GitHub que le permite probar el flujo de trabajo de la bifurcación y la solicitud de cambios.
-
Vaya al proyecto
Spoon-Knife
en https://github.com/octocat/Spoon-Knife. -
En la esquina superior derecha de la página, haga clic en Fork (Bifurcar).
-
En "Propietario", selecciona el menú desplegable y haz clic en un propietario del repositorio bifurcado.
Note
Si el nombre de usuario está atenuado, se debe a que la bifurcación ya existe. En su lugar, debes actualizar la bifurcación existente. Para obtener más información, vea «Sincronizar una bifurcación».
-
De forma predeterminada, las bifurcaciones tienen el mismo nombre que sus repositorios ascendentes. Opcionalmente, para distinguir aún más la bifurcación, en el campo "Nombre del repositorio", escribe un nombre.
-
Opcionalmente, en el campo de "Descripción", escribe una descripción de la bifurcación.
-
Opcionalmente, selecciona Copiar solo la rama DEFAULT.
En muchos escenarios de bifurcación, como los de contribución a proyectos de código abierto, solo tienes que copiar la rama predeterminada. Si no selecciona esta opción, todas las ramas se copiarán en la nueva bifurcación.
-
Haz clic en Crear bifurcación.
Note
Si quieres copiar otras ramas del repositorio ascendente, puedes hacerlo desde la página Branches. Para obtener más información, vea «Crear y eliminar ramas en tu repositorio».
Clonación de una bifurcación en tu ordenador
Bifucrcaste el repositorio Spoon-Knife exitosamente pero, hasta ahora, solo existe en GitHub. Para poder trabajar en el proyecto, necesitarás clonarlo en tu computadora.
Puedes clonar tu bifurcación con la línea de comandos, el GitHub CLI o GitHub Desktop.
-
En GitHub, vaya a su bifurcación del repositorio Spoon-Knife.
-
Encima de la lista de archivos, haz clic en Código.
-
Copia la dirección URL del repositorio.
-
Para clonar el repositorio con HTTPS, en "HTTPS", haz clic en .
-
Para clonar el repositorio mediante una clave SSH, incluido un certificado emitido por la entidad de certificación SSH de la organización, haz clic en SSH y luego en .
-
Para clonar un repositorio mediante GitHub CLI, haz clic en GitHub CLI y, después, en .
-
-
Abra TerminalTerminalGit Bash.
-
Cambia el directorio de trabajo actual a la ubicación en donde quieres clonar el directorio.
-
Escriba
git clone
y pegue la dirección URL que ha copiado antes. Tendrá este aspecto, con su nombre de usuario de GitHub en lugar deYOUR-USERNAME
:git clone https://github.com/YOUR-USERNAME/Spoon-Knife
-
Presione ENTRAR. Se creará tu clon local.
$ git clone https://github.com/YOUR-USERNAME/Spoon-Knife > Cloning into `Spoon-Knife`... > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. > remove: Total 10 (delta 1), reused 10 (delta 1) > Unpacking objects: 100% (10/10), done.
Para más información sobre GitHub CLI, consulta "Acerca del CLI de GitHub".
Para crear un clon de la bifurcación, use la marca --clone
.
gh repo fork REPOSITORY --clone=true
-
En el menú File, haga clic en Clone Repository.
-
Haz clic en la pestaña que corresponde a la ubicación del repositorio que deseas clonar. También puede hacer clic en URL para especificar manualmente la ubicación del repositorio.
-
En la lista de repositorios, haz clic en el repositorio que quieras clonar.
-
Para seleccionar el directorio local en el que quieres clonar el repositorio, junto al campo "Ruta de acceso local", haz clic en Elegir... y ve al directorio.
-
En la parte inferior de la ventana "Clonar un repositorio", haz clic en Clonar.
Creación de una rama en la que trabajar
Antes de realizar cambios en el proyecto, debes crear una rama y restaurarla. Al mantener los cambios en su propia rama, sigues el flujo de GitHub y te aseguras de que sea más fácil volver a contribuir al mismo proyecto en el futuro. Consulte "Flujo de GitHub".
git branch BRANCH-NAME
git checkout BRANCH-NAME
git branch BRANCH-NAME
git checkout BRANCH-NAME
Para más información sobre cómo crear y administrar ramas en GitHub Desktop, consulta "Administración de ramas en GitHub Desktop".
Hacer y subir cambios
Continúa y realiza algunos cambios en el proyecto con su editor de texto favorito, como Visual Studio Code. Por ejemplo, puedes cambiar el texto de index.html
para agregar tu nombre de usuario de GitHub.
Cuando estés listo para enviar tus cambios, pruébalos y confírmalos. git add .
indica a Git que quiere incluir todos sus cambios en la siguiente confirmación. git commit
toma una instantánea de esos cambios.
git add .
git commit -m "a short description of the change"
git add .
git commit -m "a short description of the change"
Para más información sobre cómo agregar cambios al "stage" y confirmarlos en GitHub Desktop, consulta "Confirmación y revisión de cambios en el proyecto de GitHub Desktop".
Cuando pruebas y confirmas archivos, esencialmente le dices a Git "¡Ok, toma una captura de mis cambios!" Puedes seguir haciendo más cambios y tomando más capturas de las confirmaciones.
Ahora mismo, tus cambios solo existen localmente. Cuando estés listo para subir tus cambios a GitHub, sube tus cambios al remoto.
git push
git push
Para más información sobre cómo insertar cambios en GitHub Desktop, consulta "Inserción de cambios en GitHub desde GitHub Desktop".
Hacer una solicitud de cambios
¡Por fin, estás listo para proponer cambios en el proyecto principal! Este es el paso final para producir una bifurcación del proyecto de alguien más y, probablemente, el más importante. Si hiciste un cambio que piensas que beneficiará a la comunidad integralmente, debes considerar en retribuir con esta contribución.
Para hacerlo, dirígete al repositorio de GitHub en donde vive tu proyecto. En este ejemplo, sería https://github.com/<your_username>/Spoon-Knife
. Verá un banner que indica que la rama está una confirmación por delante de octocat:main
. Haga clic en Contribute (Contribuir) y,después, en Open a pull request (Abrir una solicitud de incorporación de cambios).
GitHub le dirigirá a una página que muestra las diferencias entre la bifurcación y el repositorio octocat/Spoon-Knife
. Haga clic en Create pull request (Crear solicitud de incorporación de cambios).
GitHub te llevará a una página en donde podrás ingresar un título y una descripción de tus cambios. Es importante que proporciones tanta información útil y racional para explicar el porqué de la solicitud de cambios en primer lugar. El propietario del proyecto necesita poder determinar si tu cambio es tan útil para todos como tú piensas que lo es. Por último, haga clic en Create pull request (Crear solicitud de incorporación de cambios).
Adminsitrar la retroalimentación
Las solicitudes de cambios son un área de debate. No te ofendas si el dueño del proyecto rechaza tu solicitud de cambios o pide más información sobre por qué se hizo. Incluso si el propietario del proyecto decide no combinar la solicitud de incorporación de cambios, los cambios siguen existiendo en tu bifurcación. Es posible que otra persona encuentre tu bifurcación mucho más valiosa que el proyecto original.
Búsqueda de proyectos
Bifurcaste y retribuiste al proyecto de un repositorio con éxito. ¡Sigue contribuyendo! Para más información, consulta "Encontrar maneras para colaborar con el código abierto en GitHub".
Cómo familiarizarse con un proyecto
Si no estás familiarizado con un proyecto, puedes usar Copilot para ayudarte a comprender el propósito del repositorio, examinar los archivos y profundizar en líneas de código específicas. Consulte "Uso de GitHub Copilot para explorar proyectos."