Acerca de las bifurcaciones
Lo más común es que las bifurcaciones se utilicen ya sea para proponer cambios en el proyecto de alguien más, en el que no tienes acceso de escritura, o para utilizar el proyecto de alguien más como punto de inicio para tu idea propia. Puedes bifurcar un repositorio para crear una copia del mismo y hacer cambios sin afectar al repositorio ascendente. Para obtener más información, vea "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 acerca de cómo aplicar los principios de código abierto al trabajo de desarrollo de su organización en your GitHub Enterprise Server instance, vea las notas del producto de GitHub "Introducción a InnerSource".
Cuando creas tu repositorio público desde una ramificación del proyecto de alguien más, asegúrate de incluir el archivo de licencia que determine cómo quieres que se comparta tu proyecto con los demás. Para obtener más información, vea "Elegir una licencia de código abierto" en choosealicense.com.
Para más información sobre el código abierto, en concreto cómo crear e incrementar un proyecto de código abierto, hemos creado Guías de código abierto que le ayudarán a desarrollar una comunidad de código abierto con la recomendación de procedimientos recomendados para crear y mantener repositorios para un proyecto de código abierto. También puede tomar un curso gratuito de GitHub Skills sobre el mantenimiento de comunidades de código abierto.
Prerrequisitos
Si aún no lo has hecho, primero debes configurar Git. No olvide configurar la autenticación en your GitHub Enterprise Server instance también desde Git.
Bifurcar un repositorio
Puedes ramificar un proyecto para proponer cambios en los repositorios precedentes u originales. 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 your GitHub Enterprise Server instance, vaya al repositorio octocat/Spoon-Knife.
- En la esquina superior derecha de la página, haga clic en Fork (Bifurcar).
- Selecciona un propietario para el repositorio bifurcado.
- De forma predeterminada, las bifurcaciones tienen el mismo nombre que sus repositorios primarios. Puedes cambiar el nombre de la bifurcación para distinguirlo aún más.
- Opcionalmente, puedes agregar una descripción de la bifurcación.
- Elige si quieres copiar solo la rama predeterminada, o bien todas las ramas en la nueva bifurcación. En muchos escenarios de bifurcación, como los de contribución a proyectos de código abierto, solo tienes que copiar la rama predeterminada. De forma predeterminada, solo se copia la rama predeterminada.
- Haz clic en Crear bifurcación.
Nota: Si quieres copiar ramas adicionales del repositorio primario, puedes hacerlo desde la página Ramas. Para más información, consulta "Creación y eliminación de ramas dentro del repositorio".
Para obtener más información sobre GitHub CLI, vea "Acerca de GitHub CLI".
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"
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 your GitHub Enterprise Server instance, vaya a la bifurcación del 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 Enterprise Server 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 obtener más información sobre GitHub CLI, vea "Acerca de GitHub CLI".
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.
Configurar a Git para sincronizar tu bifurcación con el repositorio original
Cuando bifurcas un proyecto para proponer cambios en el repositorio original, puedes configurar Git para extraer cambios del repositorio original o ascendente en el clon local de tu bifurcación.
-
En your GitHub Enterprise Server instance, vaya 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 original 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 obtener más información sobre GitHub CLI, vea "Acerca de GitHub CLI".
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 espera colaborar en el repositorio original, puede enviar una solicitud al autor original para extraer su 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. Puedes bifurcar un repositorio privado o interno en tu cuenta personal o en una organización en your GitHub Enterprise Server instance donde tengas permisos de creación de repositorios, si la configuración del repositorio y las directivas empresariales permiten la bifurcación.
Pasos siguientes
Ahora ya has bifurcado un repositorio, has practicado la clonación de tu bifurcación y has configurado un repositorio ascendente.
-
Para obtener más información sobre cómo clonar la bifurcación y sincronizar los cambios en un repositorio bifurcado desde tu 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 Enterprise Server. Para obtener más información, consulta "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.