web-dev-qa-db-fra.com

Git: branche ou fourchette?

J'ai un projet de jeu qui aura deux versions:

  1. Une version simple du jeu, le noyau.
  2. Une version avancée du jeu.

J'ai la 1ère version dans mon référentiel public, et seulement je vais y travailler. Quant à la 2ème version, deux de mes amis et moi allons y travailler. La partie cruciale est que je souhaite que les deux versions restent dans mon référentiel.

J'ai pensé que je pourrais utiliser des branches pour cela, mais compte tenu de cette question et sa réponse , ce n'est pas une bonne pratique de le faire en termes de versioning. Pour autant que je l'ai découvert, la création de votre propre référentiel n'est pas possible.

Quelles sont mes options ici? Comment puis-je conserver les deux versions dans mon référentiel?

19
Varaquilex

Pour moi, il semble que vous ayez besoin de deux référentiels pas de deux succursales. Une branche est un mécanisme permettant de gérer les modifications au sein d'un même référentiel afin de les fusionner éventuellement avec le reste du code.

Si vous voulez vraiment garder les deux versions d'une base de code similaire dans le même référentiel, alors votre seule option est d'opter pour une branche, cependant, comme mentionné précédemment, le Le but principal d'une branche est de séparer certaines validations spécifiques de manière à ce qu'elles n'entrent pas en conflit avec le reste du code pendant la période de développement, et de les fusionner lorsqu'elles sont prêtes.

Il y a des situations où un référentiel a deux branches légèrement différentes - par exemple Versions 32 bits et 64 bits du même code source, mais je vous recommanderais quand même de choisir des référentiels séparés, si c'est une option.

11
Mahdi

La réponse à la question "dois-je cloner ou bifurquer" est exactement la même que la réponse à cette question "est-ce que je veux ma propre version personnelle de ce projet?" yes = fork, no = clone le référentiel.

Dans git, la branche est une chose légère qui est souvent temporaire et peut être supprimée. Un fork (sur github) est un nouveau projet basé sur un projet précédent. Vous clonez un référentiel pour y travailler en tant que membre de l'équipe.

De nombreux projets publics vous obligent à bifurquer le projet pour garder les modifications de travail hors du projet principal.

Pour la phase 2, forkez le projet, puis clonez-le sur votre ordinateur de travail et demandez à vos amis de faire de même.

6
DwB

Cela ressemble vraiment à ce que vous voulez, c'est un sous-module. Si vous créez le premier référentiel (votre référentiel simple privé), puis l'ajoutez en tant que sous-module au référentiel de version avancée, vous devriez pouvoir suivre et extraire les modifications apportées au sous-module dans le référentiel avancé lorsque vous développez le référentiel simple privé.

1
Ryan Holleran