Les meilleures pratiques sur GitHub repos, à la Fourchette ou créer une Nouvelle Branche
Je suis à la recherche de la meilleure pratique, bifurquer vs ramification sur GitHub. J'ai lu ce Bifurquer vs Ramification dans GitHub, mais il n'est pas pertinent.
Notre équipe de 5 personnes travaillent sur le même référentiel, et nous aimerions éviter la fusion de problèmes, de conflits ou de régression dans le code. L'objectif est pour les 5 personnes de travailler sur les différentes parties du projet, souvent sur le même fichier.
Je voudrais savoir si ça vaut le coup d' :
- fourche du projet, de travailler et de créer des pull requests, de sorte que chaque personne peut examiner le code facilement, ou
- créer une nouvelle branche de travail et de fusion sur le maître quand le travail est fait.
- Les deux options proposées sont identiques à partir de git du point de vue, et à peu près identique à partir de GitHub du point de vue (vous pouvez créer des pull requests de branches dans le même référentiel).
- Je vous remercie pour votre edit @aléatoire. Depuis que je suis à la recherche pour les "meilleures pratiques", je voudrais plus de commentaires de la façon dont c'est fait par différentes sociétés, et le pro et le contre de chacune des options.
- Je ne suis pas à la recherche à partir de git du point de vue, mais du point de vue du développeur.
- Du point de vue du développeur, une fourche, c'est juste un autre git remote ils peuvent pousser à. Vraiment je ne vois pas une grande différence de toute façon.
- Voici toute une liste de possibles git flux de travail, vous pouvez utiliser: atlassian.com/git/workflows
- Merci @Ajedi32, c'est certains liens comme ceux que je suis à la recherche pour.
- Dans une équipe de 5 à collaborer dans un but commun, je ne vois aucun avantage à la fourche. La ramification est plus léger et dans mon esprit reflète avec plus de précision l'objectif final est d'avoir tous les 5 concourent au même résultat. Bien que fonctionnellement pas particulièrement différents, déboursant près implique que vous allez tous être en tirant le code de base, en grande partie dans des directions différentes, de manière plus lâche de partage de code. En supposant que vous êtes dans la même organisation, ont un objectif commun et de la confiance l'un à l'autre ramification est le chemin à parcourir pour vous je pense.
- Double Possible de la Fourche contre la Ramification sur GitHub
Vous devez vous connecter pour publier un commentaire.
Pour moi, la meilleure pratique lorsque vous traitez avec un projet avec plus d'un développeur, est d'utiliser gitflow les branches.
Tout d'abord, la branche master sera désormais uniquement être utilisé pour garder la trace des versions de votre application, majeur, mineur ou d'un patch versions, à la suite de la Sémantique De Versionnage.
Le développement de la branche sera le cœur de votre projet, car elle permettra de faire le pont entre les différentes fonctions et de vos communiqués de presse.
Ce système contribue à réduire le nombre de fusionner, tout comme une simple ramification système, mais d'ajouter de la sémantique de la logique, et de l'amicale et des commandes simples qui vient avec elle.
Pour plus d'informations sur gitflow vous pouvez suivre ce lien.
Maintien de fourches introduit des coûts indirects de chaque fourche besoin de tirer des modifications à partir de l'amont. Je ne vois aucun avantage à le faire lors de chaque développeur peut avoir accès à un référentiel partagé.
Tirer les demandes peuvent être un mécanisme très utile pour les révisions de code, mais ils ne demandent pas que vous utilisez les fourches. Vous pouvez créer des branches dans le même référentiel et l'utilisation pull demandes à gérer leur fusion dans votre branche master.
À mon bureau, nous avons une situation similaire: un grand projet où cinq ou plus, les développeurs ont un accès de commit, et généralement au moins trois travaillent sur elle à tout moment. Nous gérons tout à l'aide d'un référentiel unique avec des branches et des pull requests, et nous n'avons pas eu tous les problèmes qui ont été causés par notre contrôle de la source d'installation, de toute façon).
Pull requests sont un excellent moyen de solliciter la révision du code d'autres développeurs, ce qui est particulièrement important lorsque ces mêmes développeurs peuvent travailler avec votre code de la prochaine journée. Fourches, d'autre part, n'a pas vraiment d'en faire bénéficier; c'est une solution pour le problème de permettre un plus large accès contrôlé de la base de code, et que le problème n'existe tout simplement pas quand tout le monde a commettre l'accès à des pensions de titres.
Atlassian a une excellente écrire sur les différences entre la fourche et d'autres git flux de travail sur leur git page des tutoriels. (Voir Un Fork De Workflow | Atlassian Git Tutoriel)
Pertinentes citations:
Je voudrais travailler dans un "centralisée", c'est, d'avoir l'un des principaux pensions que tout le monde fourche, chaque développeur devra s'engager à leur propre repo, qui rend le processus de révision du code plus facile. Une fois que la révision du code a été fait, vous pouvez fusionner les modifications des principales repo.
C'est juste l'idée principale...
Vous aussi, vous avez besoin de mettre en place les stratégies sur la façon de la direction générale. Je recommande Nvie de modèle
J'ai l'impression, le goulot d'étranglement n'est pas un fork ou de branchement. Dans les deux approches, vous avez besoin d'une intervention manuelle de la fusion et à examiner les changements.,
De sorte que le goulot d'étranglement est avec le développement de l'application de l'approche. Je vois un problème, quand une équipe est à collaborer sur le même fichier. Avec une bonne conception de l'architecture, peut-il être divisées en modules séparés avec des fichiers individuels ? De l'exécution ou de la génération, les modules séparés (ou les fichiers) pourraient être regroupés pour former l'ensemble de la fonction (ou d'un seul fichier).
Si nous pouvions nous résoudre à ce niveau, une fois que l'équipe augmentation de la taille ou de la fonction de la complexité augmente, les choses vont être lisse à l'échelle.