Flux de travail / pratiques Git pour un petit projet (organigramme en png)

12

J'essaie de trouver un flux de travail personnel. J'ai mis en place un organigramme de la durée de vie hypothétique d'une version: un développeur poussant vers un référentiel github public + un ami aidant avec certaines fonctionnalités et corrigeant un bug.

Est-ce une approche raisonnable du contrôle de version?

L'idée principale est de garder le repo bien rangé:

  • Chaque nouvelle version obtient sa propre branche jusqu'à ce qu'elle soit finalement balisée dans la branche principale lorsqu'elle est terminée.

  • Tout le travail est effectué sur les branches "fonctionnalité" ou "hotfix", jamais sur une branche de version réelle, pour éviter les anomalies.

  • Les fusions vers les branches de niveau supérieur sont toujours rebasées ou écrasées (pour éviter l'encombrement).

Si c'est exagéré, cela ne me dérange pas parce que le but est pour moi d'apprendre les compétences dont j'ai besoin pour un projet plus vaste. Le seul problème serait que je fasse quelque chose de mal ou de inutile.

édition 2: correction d'une mauvaise idée dans l'organigramme d'origine et facilité la navigation.

v1.1

iDontKnowBetter
la source
@ClintNash Merci! J'ai mis à jour l'image pour corriger l' --squasherreur et ajouté une grille pour la rendre plus facile à suivre.
iDontKnowBetter
"Les fusions vers les branches de niveau supérieur sont toujours rebasées ou écrasées (pour éviter l'encombrement)." Parfois, je pense que cela ajoute plus d'encombrement, car l'histoire ne correspond pas à ce qui s'est réellement passé.
Matsemann
1
check this out nvie.com/posts/a-successful-git-branching-model
Andre Dublin
Je pense que mon cerveau vient d'exploser OO
Zaz

Réponses:

3

Ce que je vois beaucoup dans la communauté git / github, c'est ceci

master branches développer

Vous et les contributeurs travaillez principalement dans le développement, mais quelqu'un peut avoir une idée ou une nouvelle fonctionnalité, vous créez donc une branche de sujet comme git checkout -b user_comments.

Ensuite, au fur et à mesure que vous progressez dans le développement, vous poussez pour maîtriser une fois que vous avez défini une version qui vous convient et la marquez dans la branche principale comme 1.0 ou 1.1.2, etc. (recherchez le versioning sémantique)

Andre Dublin
la source
Je n'étais pas au courant du bon versioning sémantique. Je dois admettre que jusqu'à aujourd'hui j'ai numéroté des choses sans aucune méthode réelle. Je vais commencer à l'utiliser à partir de maintenant. Merci pour le conseil! - site Web: semver.org
iDontKnowBetter