Zuordnen von Git-Commits zu Team Foundation-Arbeitselementen
Kontext
Einen GitHub-Enterprise-installation für die Entwicklung verwendet. Jeder Entwickler hat sein eigenes öffentliches repo, und die Organisation hat die authorative repo. Pull-requests werden verwendet für code-reviews, und wir Locker Folgen, nvie die git-flow Verzweigung Modell.
Einer TFS installation verwendet für issue tracking und Bereitstellung der release-Zweig). Wir spiegeln den release-Zweig in einen TFS-repo.
Arbeitsaufgaben
Nun der schwierige Teil ist: Wie verbinden wir eine git-commits (möglicherweise ursprünglich durchgeführt werden, die auf den öffentlichen Zweigen der Entwickler) mit TF Arbeitsaufgaben?
Was ich Tat
Ist, habe ich mich an die folgenden Projekte für die Hilfe:
Ich gelesen habe, Verweise zu verknüpfen verpflichtet, die mit der Arbeit Artikel in den beiden Git-TF-Projekte, aber ich bin unsicher, welches Werkzeug zu verwenden, und wie Sie es genau.
Ich wäre in Ordnung, wenn ich hatte, um ein Skript auf dem release-branch commits zu extrahieren Arbeitsaufgabe Hinweise aus der commit-Nachricht, und ordnen Sie diese änderungen geschickt TFS. Aber eine Lösung, mit der der Verein in den Metadaten (anstatt von commit-Nachrichten) bevorzugt.
Was sind meine Optionen für associate work-items im TFS mit git-commits?
InformationsquelleAutor der Frage Wilbert | 2013-02-18
Du musst angemeldet sein, um einen Kommentar abzugeben.
Mit git-tfsdie Sie zuordnen können workitems in einer commit-Nachricht mit metadatas (und auch Kraft commit-Politik!).
Sie werden automatisch zugeordnet, wenn der commit erfolgt in der TFS-server ( wenn Sie die rcheckin Befehl )
Und es gibt auch ein git-Hinweis erstellt, auf der git commit, um den Titel des workitem und einen link in Richtung der workitem!
Aber rcheckin in einer synchronisation zwischen git und TFS, sollten Sie vor dem (absolut) zu verstehen, wie es funktioniert!
Wenn Sie rcheckin git commits in TFS, git-tfs, für jeden commit erstellen Sie die entsprechenden änderungen in tfs und Holen sich die Inhalte dieser änderungssatz erstellen Sie ein git commit. Also, auch wenn es (fast) unsichtbar für Sie in einem normalen Workflows, müssen Sie den git-commits nach dem rcheckin, dass sind nicht die gleichen als die Originale (es ist eine Modifikation der Geschichte!).
Werden könnte, ein großes problem, wenn das git-Archiv ist supposted zum zentralen repository, da alle Committern zu tun haben, Stellungswechsel. Ansonsten sollte es kein problem sein, weil es komplett transparent, außer in speziellen Fällen, aber leicht lösbar ist.
Nicht die perfekte Lösung...
InformationsquelleAutor der Antwort Philippe
Wenn Sie mit # in Ihrem git commit-Nachricht wie in git commit -m'fixes #123' TFS automatisch den commit als ein verknüpftes Element in der workitem angegeben.
InformationsquelleAutor der Antwort mcstar
Zimmerreserviereung, ohne das Sie viel information über die Git-TFS-Werkzeuge, beachten Sie, dass Sie hinzufügen können jederzeit Metadaten zu einem commit (ohne änderung der Geschichte /SHA1-Hash des repo) durch hinzufügen von Notizen.
Sehen
git notes
(oder Git-Tipp der Woche: Git Notes).Durch hinzufügen, dass die Informationen in einem speziellen "Hinweis namespace" können Sie schnell speichern /abrufen von Informationen, wie die Work-Item-Referenz aus dem Hinweis verbunden, um ein Git-commit.
InformationsquelleAutor der Antwort VonC
Sollten Sie in der Lage sein, es zu tun in der ms-git-tf:
git tf checkin --associate=27631,27637
Hilfe sagt:
InformationsquelleAutor der Antwort regisbsb