Associant git s'engage avec l'Équipe de la Fondation des éléments de travail
Contexte
Un GitHub Entreprise d'installation utilisé pour le développement. Chaque développeur dispose de son propre public de pensions, et l'organisation a les faisant autorité des pensions. Tirez les demandes sont utilisés pour la révision du code, et nous lâche suivre nvie de git flow les branches.
Une installation TFS utilisé pour le suivi des problèmes et de déploiement (la branche). Nous avons miroir de la branche en un TFS repo.
Éléments De Travail
Maintenant, le plus dur est de savoir Comment associer git commit " (qui peuvent être à l'origine fait pour le public branches de la part des développeurs) avec TF éléments de travail?
Ce que j'ai fait
J'ai regardé les projets suivants pour obtenir de l'aide:
J'ai lu les références à l'association s'engage avec l'élément de travail dans les deux Git-TF projets, mais je suis pas sûr que l'outil à utiliser, et comment le faire exactement.
Je serait bien si je devais exécuter un script sur la branche s'engage à extraire de l'élément de travail références dans le message de commit, et de les associer avec des révisions envoyé à TFS. Toutefois, une solution qui permet à l'association de métadonnées (au lieu de messages de commit) serait préférable.
Quelles sont mes options pour associer des éléments de travail dans TFS avec git s'engage?
Vous devez vous connecter pour publier un commentaire.
Avec git-tfs, vous pouvez associer des workitems dans un message de validation à l'aide de les méta-données (et même la force de s'engager de la politique!).
Ils sont automatiquement associés lors de la validation sont effectués dans le serveur TFS ( si vous utilisez le rcheckin commande )
Et il y a même un git-note créée sur le git commit pour avoir le titre de la workitem et un lien vers le workitem!
Mais à utiliser rcheckin dans un processus de synchronisation entre git et TFS, vous devez avant tout (absolument), de comprendre comment il fonctionne!
Lorsque vous rcheckin git commit dans TFS, git, tfs, pour chaque validation de créer le correspondant de l'ensemble de modifications dans tfs et aller chercher le contenu de cette révision de recréer un git commit. Donc, même si c'est (presque) invisible pour vous dans un workflow, vous avez le git s'engage après la rcheckin qui ne sont pas les mêmes que celles à l'origine (il y a une modification de l'histoire!).
Ça pourrait être un gros problème si ce git reporitory est supposted être le référentiel central, car tous les commiters aurez à faire un rebase. Sinon, il ne devrait pas être un problème, car il est complètement transparent, sauf dans des cas spéciaux, mais facilement résoluble.
Pas une solution parfaite...
Si vous utilisez # dans votre git commit message que, dans git commit -m'fixes #123 " TSF ajoutera automatiquement la validation comme un élément lié à workitem spécifié.
Sans avoir beaucoup d'informations sur ces Git-TFS outils, notez que vous pouvez ajouter à tout moment des métadonnées à un commit (sans changer l'histoire /SHA1 de l'opération) par l'ajout de notes.
Voir
git notes
(ou Git Astuce de la Semaine: Git Notes).En ajoutant que l'information dans une "note d'espace de noms", vous pouvez rapidement stocker /récupérer une information comme un Élément de Travail de référence de la note associée à un Git commit.
Vous devriez être en mesure de le faire dans le ms git tf:
git tf checkin --associate=27631,27637
Aider à dit: