Acerca de las bifurcaciones
Una bifurcación es un nuevo repositorio que comparte la configuración de visibilidad y código con el repositorio “ascendente” original. Las bifurcaciones se suelen usar para iterar ideas o cambios antes de que se vuelvan a proponer al repositorio ascendente, como en proyectos de código abierto o cuando un usuario no tiene acceso de escritura al repositorio ascendente. Para más información, consulta "Trabajar con bifurcaciones".
Proponer cambios para el proyecto de otra persona
Por ejemplo, puedes utilizar ramificaciones para proponer cambios relacionados con arreglar un error. En lugar de registrar una incidencia para un error que has encontrado, puedes hacer lo siguiente:
- Bifurque el repositorio.
- Solucionar el problema.
- Emitir solicitudes de cambios al propietario del proyecto.
Usar el proyecto de otra persona como inicio de tu propia idea
El software de código abierto se basa en la idea de que, si compartimos el código, podemos crear software más confiable y mejor. Para obtener más información, vea "Acerca de la iniciativa de código abierto" en la iniciativa de código abierto.
Para obtener más información sobre cómo aplicar los principios de código abierto al trabajo de desarrollo de la organización en tu empresa, consulta las notas del producto de GitHub "Introducción a InnerSource".
Prerrequisitos
Si aún no lo has hecho, configura Git y la autenticación en primer lugar con tu empresa desde Git. Para obtener más información, vea «Configuración de Git».
Bifurcar un repositorio
Puedes ramificar un proyecto para proponer cambios en el repositorio ascendente. En este caso, es una buena práctica sincronizar tu bifurcación periódicamente con el repositorio ascendente. Para hacerlo, deberás usar Git en la línea de comando. Puede practicar la configuración del repositorio ascendente con el mismo repositorio octocat/Spoon-Knife que acaba de bifurcar.
-
En tu empresa, ve al repositorio 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.
-
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.
-
Haz clic en Crear bifurcación.
Nota: Si quieres copiar ramas adicionales del repositorio ascendente, puedes hacerlo desde la página Ramas. Para más información, consulta "Crear y eliminar ramas en tu repositorio".
Para más información sobre GitHub CLI, consulta "Acerca del CLI de GitHub".
Para crear una bifurcación de un repositorio, use el subcomando gh repo fork
.
gh repo fork REPOSITORY
Para crear la bifurcación en una organización, use la marca --org
.
gh repo fork REPOSITORY --org "octo-org"
Puedes bifurcar un repositorio en GitHub.com o en GitHub Desktop. Para obtener información sobre la bifurcación en GitHub.com, consulta la versión del explorador web de este artículo.
En GitHub Desktop, si intentas clonar un repositorio al que no tienes acceso de escritura, se crea automáticamente una bifurcación.
-
En el menú File, haga clic en Clone Repository.
1. En la lista de repositorios, haz clic en el repositorio que quieras clonar. 1. 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. -
Haga clic en Continuar.
Clonar tu repositorio bifurcado
Ahora mismo, tienes una bifurcación del repositorio Spoon-Knife, pero no tienes los archivos de ese repositorio localmente en tu equipo.
-
En tu empresa, ve a tu bifurcación en el repositorio Spoon-Knife.
-
Encima de la lista de archivos, haga 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, haga clic en Usar SSH y luego en .
- Para clonar un repositorio mediante GitHub CLI, haz clic en GitHub CLI y, después, haz clic en .
1. Abra TerminalTerminalGit Bash. 4. 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 AE en lugar deYOUR-USERNAME
:$ git clone https://HOSTNAME/YOUR-USERNAME/Spoon-Knife
-
Presione ENTRAR. Se creará tu clon local.
$ git clone https://HOSTNAME/YOUR-USERNAME/Spoon-Knife > Cloning into `Spoon-Knife`... > remote: Counting objects: 10, done. > remote: Compressing objects: 100% (8/8), done. > remote: 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.
1. En la lista de repositorios, haz clic en el repositorio que quieras clonar. 1. 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.
Configurar a Git para sincronizar tu bifurcación con el repositorio ascendente
Cuando bifurcas un proyecto para proponer cambios en el repositorio ascendente, puedes configurar Git para extraer cambios del repositorio ascendente en el clon local de tu bifurcación.
-
En tu empresa, ve al repositorio octocat/Spoon-Knife.
-
Encima de la lista de archivos, haga 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, haga clic en Usar SSH y luego en .
- Para clonar un repositorio mediante GitHub CLI, haz clic en GitHub CLI y, después, haz clic en .
1. Abra TerminalTerminalGit Bash.
-
Cambia el directorio de la ubicación de la bifurcación que clonaste.
- Para ir al directorio principal, escriba solo
cd
sin ningún otro texto. - Para generar una lista de los archivos y carpetas en su directorio actual, escriba
ls
. - Para ir a uno de los directorios mostrados, escriba
cd your_listed_directory
. - Para subir un directorio, escriba
cd ..
.
- Para ir al directorio principal, escriba solo
-
Escriba
git remote -v
y presione Entrar. Verás el repositorio remoto configurado actualmente para tu bifurcación.$ git remote -v > origin https://HOSTNAME/YOUR_USERNAME/YOUR_FORK.git (fetch) > origin https://HOSTNAME/YOUR_USERNAME/YOUR_FORK.git (push)
-
Escribe
git remote add upstream
, pega la dirección URL que has copiado en el paso 3 y presiona Enter (Entrar). Tendrá este aspecto:$ git remote add upstream https://HOSTNAME/ORIGINAL_OWNER/Spoon-Knife.git
-
A fin de verificar el nuevo repositorio ascendente que has especificado para tu bifurcación, escribe
git remote -v
otra vez. Debería ver la dirección URL de la bifurcación comoorigin
y la dirección URL del repositorio ascendente comoupstream
.$ git remote -v > origin https://HOSTNAME/YOUR_USERNAME/YOUR_FORK.git (fetch) > origin https://HOSTNAME/YOUR_USERNAME/YOUR_FORK.git (push) > upstream https://HOSTNAME/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (fetch) > upstream https://HOSTNAME/ORIGINAL_OWNER/ORIGINAL_REPOSITORY.git (push)
Ahora, puedes mantener tu bifurcación sincronizada con el repositorio ascendente con unos pocos comandos Git. Para obtener más información, vea «Sincronizar una bifurcación».
Para más información sobre GitHub CLI, consulta "Acerca del CLI de GitHub".
A fin de configurar un repositorio remoto para el repositorio bifurcado, utilice la marca --remote
.
gh repo fork REPOSITORY --remote=true
Para especificar el nombre del repositorio remoto, use la marca --remote-name
.
gh repo fork REPOSITORY --remote-name "main-remote-repo"
Edición de una bifurcación
Puedes hacer cualquier cambio a una ramificación, incluyendo:
- Crear ramas: las ramas permiten compilar características o probar ideas sin poner en riesgo el proyecto principal.
- Abrir solicitudes de incorporación de cambios: si quieres colaborar en el repositorio ascendente, puedes enviar una solicitud al autor original para extraer tu bifurcación en su repositorio enviando una solicitud de incorporación de cambios.
Encontrar otro repositorio para bifurcar
Bifurca un repositorio para comenzar a colaborar con un proyecto. Si las directivas de tu empresa permiten la bifurcación de repositorios privados e internos, puedes bifurcar un repositorio a tu cuenta personal o a una organización donde tengas permiso para crear repositorios. Para obtener más información, vea «Roles en una organización».
Para más información sobre cuándo puedes bifurcar un repositorio, consulta "Acerca de los permisos y la visibilidad de las bifurcaciones".
Pasos siguientes
Ahora ya has bifurcado un repositorio, has practicado la clonación de tu bifurcación y has configurado un repositorio ascendente.
-
Para más información sobre cómo clonar la bifurcación y sincronizar los cambios en un repositorio bifurcado desde el equipo, consulta "Configuración de Git".
-
También puedes crear un repositorio nuevo en donde pongas todos tus proyectos y compartir el código en GitHub. La creación de un repositorio para el proyecto permite almacenar código en GitHub. Esto proporciona una copia de seguridad del trabajo que puedes elegir compartir con otros desarrolladores. Para obtener más información, consulta «Creación de un repositorio»."
-
Cada repositorio de GitHub le pertenece a una persona u organización. Puedes interactuar con las personas, repositorios y organizaciones conectándote y siguiéndolos en GitHub AE. Para obtener más información, vea «Ser social».
-
GitHub tiene una excelente comunidad de soporte técnico en la que puede pedir ayuda y hablar con usuarios de todo el mundo. Únete a la conversación en GitHub Community.