diferencia entre bifurcación y rama en github


Si bifurco un proyecto que está alojado en github. ¿Tengo que bifurcar todas las ramas? ¿Cómo sé en qué rama se basa mi horquilla? En otras palabras, ¿qué rama se descargará en mi PC?

Author: Zeeshan Hassan Memon, 2011-02-16

6 answers

Todas las ramas en GitHub se copiarán en una bifurcación. (Obviamente, esto no incluye ramas que nunca fueron empujadas a GitHub en primer lugar.)

Pero una bifurcación es una operación de GitHub a GitHub; nada se copia en tu PC. No es lo mismo que un clon de Git . Si quieres preguntar "¿qué se copia cuando clono un proyecto?", ver el manual para git-clone(1).

 34
Author: J. C. Salomon,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-15 21:23:35

Piénsalo de esta manera:

El repo[sitory] corresponde al trabajo colaborativo del equipo a través de una o varias ramas. Todos los colaboradores tienen su propia copia.

Cada fork del repositorio principal corresponde al trabajo de un colaborador. Una bifurcación es realmente una construcción Github (no Git) para almacenar un clon del repositorio en tu cuenta de usuario. Como clon, contendrá todas las ramas en el repositorio principal en el momento en que hizo la bifurcación.

Cada rama dentro de la bifurcación y / o en el repositorio principal puede corresponder a varios tipos de cosas, dependiendo de cómo quieras trabajar. Cada rama podría referirse a una versión del proyecto, pero también puede corresponder a diferentes canales de desarrollo, como hotfixes o trabajo experimental.

La solicitud de extracción (en el ecosistema GitHub) corresponde a la tarea. Cada vez que quiero contribuir con una tarea terminada aislada al repositorio principal, creo una pull request correspondiente a commits en esa tarea. Estos comete son sacados de mi tenedor o mi rama en principal repo.

A commit es un conjunto de cambios al código. Esta es una de las cosas más interesantes de Git. No transfiere archivos, transfiere registros de cambios.

 113
Author: Adam Grant,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-06-15 23:49:18

Fork es un clon en el lado de GitHub (clona todo).
Cuando clonas un repositorio, obtienes toda la historia de dicho repositorio, con todas sus ramas.

Aunque en teoría puedes cambiar la rama predeterminada de un repositorio remoto, un clon de un repositorio de GitHub busca principalmente la rama maestra. Lo que significa que para cambiar la rama "predeterminada" que obtendrá un clon de GitHub, necesita cambiar el nombre de la rama maestra.

 9
Author: VonC,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2017-05-23 12:34:31

Si bifurcas un proyecto, estás haciendo una copia de todo el proyecto a tu cuenta de git hub. usted no está haciendo frente a nada a su PC

Para hacer una copia en tu PC tienes que clonarla y tirar de todo el material y obtendrás todas las ramas y código de ese proyecto

 4
Author: Hunt,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2016-02-28 07:51:14

Si creas una bifurcación de un proyecto desde el sitio web de Github, obtienes todas las ramas del proyecto upstream.

Si clonas desde tu bifurcación recién acuñada a tu PC local, tendrás el control remoto origin en tu PC apuntando a la rama maestra de tu bifurcación en Github.

 2
Author: bhamby,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2011-02-16 05:38:36

Esto se puede explicar muy bien. Tienes un repositorio central en GitHub. Cada vez que toma un clon de él en su computadora personal para hacer algunos cambios, este clon local del repositorio principal se llama bifurcación.

La rama es algo diferente y está incluida en el fork/repo. En realidad, la rama es su trabajo en diferentes etapas de desarrollo. Se crean como y cuando sea necesario para guardar un conjunto de funcionalidades, para dar acceso a diferentes usuarios, para demostrar el sitio para cliente, etc.

 1
Author: Avinash Thombre,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2018-10-03 16:27:35