Team Foundation Server 2015: Neue Funktionen

Pull Requests in Git Repositories

LinkedIn Learning kostenlos und unverbindlich testen!

Jetzt testen Alle Abonnements anzeigen
Pull Requests sind eine Funktion, die viele Entwickler von der Open-Source-Plattform GitHub kennen. Dabei handelt es sich jedoch nicht um eine native Git-Funktion, sondern um einen externen Aufsatz. Aufgrund der hohen Beliebtheit der Funktion hat Microsoft diese nun auch in den TFS gebracht.
06:22

Transkript

Wenn Sie schon einmal auf der Webseite von GitHub gewesen sind, dann ist Ihnen vielleicht aufgefallen, dass es hier eine Funktion gibt, die sich "Pull Requests" nennt. Die Idee ist wie folgt: Als Entwickler forke ich dieses Projekt. Ich gehe also hin und füge eine Kopie des Projektes auf meinen GitHub-Account hinzu. Dann klone ich das lokal zu mir, mache eine Änderung, pushe die dann hoch zu GitHub. Wenn diese Änderung so gut ist, dass ich sage, die muss eigentlich auch in das Hauptprojekt herein, dann erstelle ich einen sog. "Pull Request". Und hier sehen wir solche Pull Requeste. Hier hat jetzt z. B. jemand im Bereich "asp.net" gesagt, er hätte hier eine Änderung gemacht und wir können uns jetzt diesen Commit hier anschauen. Der ist halt in dem Repository von diesem Entwickler hier z. B. vorhanden. Und immer dann, wenn man eine solche Änderung hat, dann shared man einen Pull Request. Und derjenige, dem das Projekt gehört, also in dem Fall jetzt z.B. das Team vom EntityFramework, kann diesen "Pull Request" akzeptieren und damit den Code und die Änderung in die eigene Codebasis übernehmen. Diese Funktion wird häufig direkt mit Git verbunden, ist allerdings keine reine Git-Funktion oder keine echte Git-Funktion, sondern eine Zusatzfunktion, die die Webseite GitHub bietet. Der Team Foundation Server hat mittlerweile auch die Möglichkeit, Pull Requests zu verwalten. Und dazu gehe ich im Endeffekt wie folgt vor. Wenn ich als Entwickler Visual Studio öffne und hier jetzt ein Projekt habe, dann kann ich im Team Explorer folgendes machen. Ich kann hier "Branches" wählen und kann z. B. sagen, dass ich eben diesen "Master Branch" verzweigen möchte. Dazu werde ich jetzt erst einmal hingehen und die aktuelle Version herunterrufen, indem ich also einen Sync mache und sage: "Eingehende Commits sollen bitte abgerufen werden". Dann habe ich also die aktuelle Version auch lokal bei mir, und zwar natürlich für den Branch Master, zu dem möchte ich ja ganz gerne wechseln. Also nochmal zurück. Und für den Branch Master werde ich jetzt einen Sync ausführen, wird also diese Änderung hier abrufen. Nachdem das geschehen ist, werde ich jetzt von diesem Branch eine eigene Verzweigung erstellen, indem ich hier auf "Branches" gehe und dann mit der rechten Maustaste das Kontextmenü öffne und sage: "Neuer lokaler Branch von Master" und den nenne ich jetzt hier z. B. "Def". Der wird auch direkt ausgecheckt. Das sehen wir daran, dass er jetzt schwarz ist. Und jetzt mache ich in diesem Branch eine Änderung. Z. B. ändere ich diesen Text und schreibe hier "Hallo Welt" hinein. Diese Änderung muss ich jetzt erst einmal lokal committen. Heißt also, ich gehe hier auf "Änderungen" und sage jetzt hier: "Hallo Welt" und committe das ganze. Wir sehen jetzt auch hier, dass dieser Commit lokal durchgeführt worden ist. Jetzt kann ich diesen Commit auch entsprechend hochsynchronisieren, indem ich diesen jetzt veröffentliche. Und das ganze wurde auf dem Team Foundation Server veröffentlicht. Als nächstes möchte ich für diesen Branch einen Pull Request erstellen. Dazu klicke ich mit der rechten Maustaste auf diesen Branch und sage: "Pull Request erstellen". Und hier sehen wir diesen Pull Request im Browser. Hier sehe ich also, dass es im "Def Branch" eine Änderung gibt, nämlich diese "Hello World"-Änderung, und dass ich diesen neuen Pull Request hinzugefügt habe. Jetzt kann ich hingehen und über diesen Pull Request diskutieren. Im Bereich Pull Request sehen wir hier, dass es einen älteren und einen neuen gab. Wenn ich mich jetzt mal mit einem anderen Benutzer kurz anmelde, indem ich einen weiteren Browser öffne, ich bin eingeloggt als "Administrator" und aktualisiere die Seite, dann sehe ich hier diesen Pull Request und kann z. B. reinschreiben: "Nicht sonderlich kreativ". Und kann über das @-Zeichen sogar den entsprechenden Benutzer markieren. Jetzt drücke ich "Enter". Ich könnte darüber hinaus die Dateien anschauen, ein Kommentar hinzufügen und z. B. schreiben: "Das hier sollte vielleicht noch einmal geändert werden". Und habe also so die Möglichkeit, tatsächlich über diese Codeänderung zu diskutieren. Ich wechsele jetzt wieder zurück zu meinem anderen Benutzer und sehe auch hier dann gleich die entsprechende Diskussion an den Einträgen dran. Ich aktualisiere einmal schnell. Und jetzt kann ich hier antworten, könnte z. B. sagen: "War aber so gewünscht @administator". Irgendwann ist das Ganze dann soweit durch. Bedeutet also, wir können diesen Pull Request abschließen. Und dieses Abschließen geschieht dadurch, dass in der Regel ein anderer Benutzer für diesen Pull Request, den wir hier sehen, den Punkt "Abschließen" klickt und sagt: "Wunderbar, ich führe diese beiden Zweige zusammen". Und dann werden diese zusammen gemerged. Bedeutet also, diesen Zweig "Def" gibt es gleich gar nicht mehr. Ich gehe jetzt also einmal auf "Branches", sage "Seite verlassen". Ist schon soweit ok. Und dann sehe ich, dass es den Branch "Def" nicht mehr gibt. Es gibt aber einen zweiten Pull Request. Der war jetzt hier im Spike. Und den könnte ich jetzt genauso wieder an der Stelle akzeptieren, wenn ich die entsprechenden Berechtigungen dazu habe. Wir halten also einmal fest: Pull Request ist eine Funktion, die Git an sich gar nicht hat. GitHub hat es als Webseite zusätzlich implementiert und der Team Foundation Server hat jetzt in Kombination mit Visual Studio dieses Konzept auch übernommen.

Team Foundation Server 2015: Neue Funktionen

Lernen Sie die wichtigsten Erweiterungen in TFS 2015 kennen, wobei auf große Änderungen wie das neue Build System genau so eingegangen wird wie auf Verbesserungen.

1 Std. 9 min (25 Videos)
Derzeit sind keine Feedbacks vorhanden...
Hersteller:
Software:
Team Foundation Server Team Foundation Server 2015
Exklusiv für Abo-Kunden
Erscheinungsdatum:27.09.2016

Dieser Online-Kurs ist als Download und als Streaming-Video verfügbar. Die gute Nachricht: Sie müssen sich nicht entscheiden - sobald Sie das Training erwerben, erhalten Sie Zugang zu beiden Optionen!

Der Download ermöglicht Ihnen die Offline-Nutzung des Trainings und bietet die Vorteile einer benutzerfreundlichen Abspielumgebung. Wenn Sie an verschiedenen Computern arbeiten, oder nicht den ganzen Kurs auf einmal herunterladen möchten, loggen Sie sich auf dieser Seite ein, um alle Videos des Trainings als Streaming-Video anzusehen.

Wir hoffen, dass Sie viel Freude und Erfolg mit diesem Video-Training haben werden. Falls Sie irgendwelche Fragen haben, zögern Sie nicht uns zu kontaktieren!