Je recherche le passage de starteam à git.
Actuellement, dans starteam, nous utilisons des "vues flottantes" avec des noms spéciaux. Ces vues flottantes fonctionnent essentiellement comme des alias. Par conséquent, nous pouvons spécifier un alias spécifique à partir duquel extraire et nous obtiendrons la branche sur laquelle nous testons actuellement le modèle.
Comment cela se ferait-il dans git? Voici essentiellement comment nos succursales sont organisées:
Ce sont toutes des branches
master (stable view)
| - Branch 2012.05.01
| | - Project 1
| | - Project 2
| | - model [floating view / alias to Branch 2012.05.01]
|
| - Branch 2012.07.11 (these would also have various child views for projects)
| - Branch 2012.10.17
(La branche 2012.05.01 serait fusionnée pour devenir maître une fois les tests du modèle terminés)
Dans nos scripts automatisés (ant) pour exécuter notre déploiement de modèle, nous passons simplement à la caisse de notre branche appelée "modèle". De cette façon, nous n'avons jamais à changer nos scripts car nous changeons quelle branche nous testons le modèle, et trouver quelle vue nous testons le modèle est aussi simple que de déterminer quelle branche les références de branche "modèle".
Existe-t-il une telle façon de faire quelque chose de similaire dans git?
Edit: les gens deviennent confus ici.
Veuillez voir ici: https://stackoverflow.com/a/549949/60672
Vous pouvez renommer le tronc de branche principale comme Greg l'a suggéré, ou vous pouvez également créer un tronc qui est une référence symbolique à la branche principale afin que les utilisateurs git et svn aient la branche `` principale '' à laquelle ils sont habitués.
git symbolic-ref refs/heads/trunk refs/heads/master
Notez que le coffre n'est pas un citoyen de première classe. Si vous extrayez le tronc et effectuez un statut git, vous serez en réalité maître, mais vous pouvez utiliser la commande trunk dans tous les endroits où vous utilisez le nom de la branche (journal, fusion, etc.).
Cela signifie que vous devrez vous fier aux variables de votre script pour créer model = "branch.2012.10.17" ou quelque chose du genre. Votre script ferait alors quelque chose comme ceci:
git checkout $model
Je laisse le reste de cette réponse ici pour d'où nous venons dans cette discussion:
Une discussion très impliquée sur la stratégie de branchement peut être trouvée ici: http://dymitruk.com/blog/2012/02/05/branch-per-feature/
Plus précisément, jetez un œil au rôle de la branche d'intégration et de la branche candidate à la libération. C'est peut-être ce que vous recherchez.
Regardez git comme quelque chose qui prend un instantané de votre répertoire de travail, pas comme des historiques de dossiers.
progit.org/book explique le graphique acyclique dirigé qui stocke l'historique. Toutes les références ne sont que des éléments qui pointent vers des nœuds. Cela devrait clarifier la façon dont vous souhaitez construire votre flux de travail.
créer une balise de démarrage - version2.1. à partir de là, faites votre int-version2.1 (en utilisant des nubmers au lieu de dates pour plus de brièveté). Tout travail que vous démarrez, commencez à partir de la balise version 2.1. fusionner le travail dans l'int-version2.1. D'autres feront de même.
Dans le cas où vous avez besoin d'une branche par fonctionnalité - la réponse d'Adam Dymitruk est correcte, mais dans le cas où vous avez besoin d'enregistrer l'état spécifique à la branche des liens (en fonction du temps), sans les changer, vous pouvez utiliser des balises git.
J'ai utilisé des balises pour les états de magasin de chaque version de prod.