Je suis exactement dans cette situation, mais j’ai opté pour un flux de travail légèrement plus complexe bien que pas nécessairement plus compliqué avec Git.
Au début, l’objectif était d’apprendre les techniques de git, alors j’ai exploré un peu. est ensuite revenu à peu près au flux de travail que vous avez décrit.
Après un moment, il devint difficile de travailler avec, certaines situations apparaissant, cela me donna de mauvaises habitudes qu'il serait difficile de rompre une fois que je rejoindrais une équipe.
alors je me suis installé pour ce qui suit:
- Dépôt local pour travailler.
- Branche principale en tant que coffre stable pour l'application
- Une branche pour chaque entité / refactor, en gros une branche pour chaque changement important qui sera effectué.
- Fusionner vers le tronc lorsque la branche est stable et que tous les tests réussissent.
J'ai également configuré un compte hub Git sur lequel je synchronise le trunk. Cela m'a permis de commencer facilement à travailler sur différents ordinateurs. C'était par nécessité, mais cela m'a permis de trouver des bugs liés à l'environnement dans lequel j'étais et qui n'étaient pas disponibles sur les autres ordinateurs. Alors maintenant, je prends l'habitude d'essayer un projet sur un autre système "vierge" au moins une fois. Me épargne beaucoup de maux de tête quand vient le temps de déployer chez le client.
- Je balise toutes les versions qui en font github en tant que version amovible.
- Si cette version est communiquée au client, je créerai une deuxième ligne de distribution stable pour les corrections de bogues déclarées par le client.
Au début, les multiples succursales semblaient excessives, mais cela a VRAIMENT beaucoup aidé. Je pouvais commencer une idée dans une branche, travailler dessus pendant un moment et quand je commence à exécuter des cercles, j'ai abandonné et j'ai démarré une autre branche pour travailler sur autre chose. Plus tard, une idée est venue où je revenais à la branche à moitié cuite et explorais cette idée. Cela m'a rendu BEAUCOUP plus productif, car je pouvais agir très rapidement et voir si cela fonctionnait. Le coût de changement de branche avec GIT est extrêmement faible, ce qui me rend très agile avec mon code base. Cela dit, je dois encore maîtriser le concept de rebase pour nettoyer mon histoire, mais comme je suis toute seule, je doute que j'en ai vraiment besoin. Poussé comme "agréable à apprendre".
Lorsque toutes les branches sont devenues compliquées, j'ai exploré l'option de journalisation pour dessiner une arborescence de modifications et voir quelles branches se trouvaient où.
En bref, git n’est pas comme SVN, CVS ou (brrr) TFS. Le branchement est très bon marché et il est en fait assez difficile de faire des erreurs qui effaceront le travail. Une seule fois, j’ai perdu du travail et c’est parce que j’ai fait mes commits trop gros (voir mauvaises habitudes ci-dessus). Si vous vous engagez souvent, par petits morceaux, Git sera définitivement votre meilleur allié.
Pour moi, il m'a ouvert l'esprit sur le contrôle des sources. N'importe quoi d'autre avant consistait simplement à tenter de l'obtenir, git est le premier qui, dans mon esprit, l'a obtenu. Cela dit, je n’ai pas essayé d’autres DVCS, il est fort possible que cette déclaration puisse être élargie à toute la famille.
Un dernier conseil, la ligne de commande est votre ami. Cela ne veut pas dire que les outils graphiques ne sont pas bons, bien au contraire, mais j’ai vraiment moqué quand je suis passé en ligne de commande et que j’ai essayé moi-même. Il est en fait très bien fait, facile à suivre avec un système d’aide très complet. Mon plus gros problème était de rester lié à la console laide mais moche de Windows jusqu'à ce que je trouve des alternatives.
Maintenant, j’utilise l’intégration d’Eclipse avec Git pour voir ce qui se passe en temps réel et effectuer des opérations telles que diffs, explorer l’histoire d’un fichier, etc. . certains scripts de base et je n'ai jamais été aussi productif en ce qui concerne le contrôle de source et je n'ai jamais eu autant de contrôle sur ma source.
Bonne chance, espéré que cela a aidé.