Bei der Entwicklung von Software macht die Quellcodeverwaltung unser Leben so viel einfacher. Von der Nachverfolgung unserer Änderungen bis hin zur Einführung der Code-Collaboration trägt dies zur Steigerung unserer Produktivität bei. Die Tatsache, dass eine Reihe verschiedener Tools zur Verfügung steht - Subversion, Perforce, Mercurial usw. -, macht es noch besser, indem wir Optionen zur Auswahl anbieten.
In dieser Serie schauen wir uns speziell Git und Bitbucket an und wie sie uns bei unserer täglichen Arbeit helfen können. In diesem Artikel werden wir uns speziell auf die Verwendung von Bitbucket für Feature-Diskussionen, Fehlerverfolgung, Release-Tagging und mehr konzentrieren.
Eine der Hauptfunktionen von Git - und damit auch Bitbucket - ist die Idee von Pull-Anfragen. In diesem Artikel werden wir uns mit Pull-Anfragen befassen und erfahren, wie sie nicht nur aus Sicht der Quellcodeverwaltung, sondern auch aus Peer-Review-Sicht profitieren.
Wenn ein Benutzer eine Pull-Anforderung an Ihr Projekt ausgibt, bedeutet dies, dass er darum bittet, dass der Code in die Codebase eingefügt wird. Das heißt, sie fordern Sie auf, ihren Code in das Projekt zu ziehen.
Als Betreuer haben wir jedoch die Möglichkeit, die durch die Anforderung eingeführten Änderungen zu überprüfen, zu testen und zusammenzuführen. Machen Sie keinen Fehler: Wir spielen eine sehr wichtige Rolle bei der Entscheidung, ob die jeweilige Anforderung sowohl den Standards als auch den Zielen unserer Software entspricht.
Wenn eine Diskrepanz festgestellt wird, können wir den Teilnehmer bitten, die Pull-Anforderung zu aktualisieren, indem entweder der Code bereinigt wird, noch offene Probleme behoben werden oder die allgemeine Qualität des Codes verbessert wird. Andererseits können wir die Pull-Anfrage auch ablehnen, wenn wir entscheiden, dass sie nicht die Kriterien erfüllt, die wir für das Projekt als notwendig erachten.
Um eine Pull-Anforderung auszustellen, muss eine Person zunächst die Codebasis des ursprünglichen Projekts festlegen. Dies bedeutet, dass sie eine Momentaufnahme der Codebase in ihrem aktuellen Status aufnehmen, eine Reihe von Änderungen erstellen und dann die Änderungen an ihrer persönlichen Kopie des Codes festschreiben. Von dort fordert der Entwickler dann an, die Änderung in das ursprüngliche Repository zu übernehmen.
Wie bereits erwähnt, können Pull-Anforderungen aus einer Reihe von Dingen bestehen:
Das Management der Quellcodeverwaltung wird von Teams aller Größen - sowohl intern als auch verteilt - eingesetzt und ist ein wertvoller Bestandteil der Softwareentwicklung. Die Sache ist, wenn es um das Arbeiten mit Quellcodeverwaltungssystemen geht, haben Benutzer unterschiedliche Berechtigungsrollen.
Das heißt, wenn es um die Verwaltung eines Repository geht, haben einige Entwickler nur Lesezugriff, während andere sowohl Lese- als auch Schreibzugriff haben. Und diejenigen mit Schreibzugriff sind für die Aufrechterhaltung von Pull-Anforderungen verantwortlich.
In dieser Artikelserie werfen wir einen Blick darauf, wie Bitbucket den Workflow Ihres Teams bei der Entwicklung von Software verbessern kann. Genau wie zuvor besprochen, ermöglicht Bitbucket den Teilnehmern die Teilnahme an dem Projekt, indem sie Code festlegen, Pull-Requests überprüfen und Zusammenführungen der Requests durchführen.
Eine der schönsten Funktionen von Bitbucket besteht darin, dass Sie einer einzigen Pull-Anfrage mehrere Prüfer hinzufügen können, die dann die Anfrage genehmigen (oder ablehnen) können. Dies wiederum gibt denjenigen, die das Repository verwalten, die Möglichkeit, die Qualität des in der Pull-Anforderung angegebenen Codes zu überprüfen.
Vielleicht begrüßen sie die Ergänzungen des Projekts, vielleicht nicht. In jedem Fall gibt Bitbucket den Betreuern die Werkzeuge, die sie benötigen, um eine Rückmeldung zu einer gegebenen Pull-Anfrage zu geben.
Schließlich unterstützt Bitbucket das Inline-Kommentieren jeder Pull-Anforderung, wodurch die Besprechung einer bestimmten Zeile, eines Blocks oder eines Codemoduls wesentlich vereinfacht wird.
Alles in allem macht es dieser Ansatz viel einfacher zu bestimmen, ob eine Pull-Anfrage zusammengeführt werden soll, ob sie abgelehnt werden soll oder welche Bereiche der Dose vor dem Zusammenführen der Anfrage geändert werden sollten.
Besuchen Sie zunächst das Dashboard eines Projekts in Ihrem Webbrowser, und klicken Sie dann auf Gabel das Repository zu verzweigen.
Als Nächstes wird ein Formular angezeigt, in dem Sie einen benutzerdefinierten Namen und eine benutzerdefinierte Beschreibung angeben können. Sie haben auch die Möglichkeit, die Sichtbarkeit und Berechtigungen des Repositorys unter anderen Funktionen festzulegen.
Wenn Sie für den Code, der geschrieben werden soll, verantwortlich sind und Zugriff auf zusätzliche Tools haben möchten, um die Zusammenarbeit mit einem Team rund um die Codebasis zu erleichtern, wählen Sie die Option Projektmanagement Option aus dem entsprechenden Oberflächenelement.
Nach Anklicken der Gabeldepot Wenn Sie auf die Schaltfläche klicken, erhalten Sie die neueste Version der Codebase des Projekts und haben diese in einem eigenen Repository zur Verfügung. Um den Code auf Ihrem lokalen Computer auszuchecken, können Sie einen Git-Client wie SourceTree verwenden, oder Sie können dies über die Befehlszeile tun, indem Sie im lokalen Verzeichnis, in dem Ihr Projekt gespeichert ist, die folgenden Befehle eingeben:
$ git-Klon https: //[email protected]/Ihrbenutzername/reponame.git
Beachten Sie, dass die oben angegebene URL im Dashboard Ihres Repositorys im Bitbucket-Dashboard sichtbar ist.
Nachdem Sie den Code ausgecheckt haben, können Sie mit der Arbeit an Ihrem lokalen Computer beginnen. Wenn Sie Änderungen vornehmen, müssen Sie dies dem Repository übergeben. Um dies zu tun, stellen Sie zunächst Ihre Arbeit in eine Phase und übergeben dann Ihre Arbeit an das Repository.
An diesem Punkt können wir tatsächlich zur Arbeit gehen. Was dies bedeutet, hängt von der Art Ihres Projekts ab: Vielleicht arbeiten Sie an einem Fehler, bereinigen Sie eine Funktion oder fügen Sie eine Funktion hinzu.
In jedem Fall können Sie nach der Änderung ein Commit für das Repository abgeben. Das bedeutet, dass Sie die Dateien, an denen Sie gearbeitet haben, übernehmen und diese zu einer einzigen Sammlung von Änderungen zusammenfassen, die als Änderungsset bezeichnet wird. Änderungssets werden normalerweise von einer kurzen Nachricht begleitet, in der erläutert wird, was geändert wurde und warum.
Beim Festschreiben von Code wird zumindest nichts in das Repository verschoben. Mit anderen Worten, wenn dies Ihr erster Commit ist, wird Ihr Code nicht tatsächlich online in Bitbucket gespeichert. Die Änderungen sind stattdessen nur auf Ihrem lokalen Computer vorhanden. Sobald Sie den ersten Push durchgeführt haben, ist der Code im Repository vorhanden.
Schließlich bietet die Quellcodeverwaltung eine Möglichkeit, einen sauberen Verlauf Ihrer Änderungen aufrechtzuerhalten und auf einfache Weise einen Rollback auf einen bestimmten Zeitpunkt durchzuführen.
Sobald Sie eine Änderung an das Remote-Repository übermittelt haben (entweder über einen Client oder über die Befehlszeile), können Sie eine Pull-Anforderung initialisieren. Dies bedeutet, dass Sie bereit sind, Code zu übernehmen, den Sie in Ihre Gabel der Codebase hineingeschoben haben, und die ursprünglichen Betreuer fragen, ob sie den Code in ihr Projekt einbinden.
Dies ist in der Bitbucket-Anwendung einfach. Gehen Sie einfach zum Dashboard des gegabelten Repository und klicken Sie dann auf Pull-Anfrage erstellen.
Als Nächstes wird eine Schnittstelle angezeigt, über die Sie Ihre Pull-Anforderung erstellen können. Die Anfrage enthält Ihr Repository, das ursprüngliche Repository sowie Titel und Beschreibung.
Hier wählen Sie Ihr Repository als Quell-Repository und das ursprüngliche Codebase-Repository als Ziel-Repository aus. Möglicherweise müssen Sie diese im Dashboard je nach Ihren Anforderungen ändern.
Wenn Sie beispielsweise Ihre Kopie des Codes als "entwickeln" bezeichnet haben, wenn Sie zuvor den Befehl "git add remote" ausgeben, die ursprüngliche Codebasis jedoch das Wort "master" verwendet, müssen Sie sicherstellen, dass Sie die Auswahl getroffen haben die richtigen Werte.
Schließlich können Sie mit Bitbucket Reviewer zu einer Pull-Anfrage hinzufügen. Wie bereits erwähnt, ist es viel einfacher, die Aufmerksamkeit der Projektbetreuer auf sich zu lenken, damit diese Ihre Arbeit überprüfen, eventuelle Kommentare veröffentlichen und Ihre Anfrage zusammenführen (oder ablehnen) können.
Bitbucket aktualisiert Ihre Pull-Anforderung automatisch, wenn Sie Code in das Quellverzeichnis verschieben, sodass der Projektprüfer immer den neuesten Code sehen kann, den er abrufen kann.
Wenn der Prüfer nach einer bestimmten Änderung fragt, kann er die angeforderten Änderungen einfach in Ihre Kopie des Repositorys verschieben, d. H. Das verzweigte Repository.
Wenn Sie ein Repository verwalten, das Pull-Anforderungen von anderen erhält, werden Sie wahrscheinlich feststellen, dass Ihr Repository sowohl eine Benachrichtigung im Bitbucket-Anwendungs-Dashboard als auch in Ihrer E-Mail erhält.
Wenn Sie ein Gutachter sind, erhalten Sie außerdem eine Benachrichtigung und eine E-Mail. Um alle eingehenden Pull-Anfragen zu verwalten, klicken Sie auf den Link "Pull-Anfragen" und wählen Sie die Pull-Anfrage aus, mit der Sie arbeiten möchten.
Wie Sie sehen, bietet Bitbucket eine übersichtliche Benutzeroberfläche, über die Sie Pull-Anforderungen diskutieren und überprüfen können. Sowohl Betreuer als auch Betrachter können eine bestimmte Pull-Anfrage ablehnen, zusammenführen oder zusätzliche Arbeit anfragen.
Vorausgesetzt, Sie haben eine Anfrage, die zum Zusammenführen bereit ist, klicken Sie dann auf die entsprechende Option, um genau das zu tun. Wenn Sie mit mehreren Gutachtern zusammenarbeiten, macht Bitbucket auch klar, wer die Anfrage genehmigt hat, indem sie ein Häkchen in ihrem Avatar anhängt. Je mehr Überprüfungen in den Prüfern erscheinen, desto wahrscheinlicher ist die Anforderung zum Zusammenführen bereit.
Was passiert jedoch, wenn das Zusammenführen der Pull-Anforderung fehlschlägt? An diesem Punkt muss eine manuelle Zusammenführung vorgenommen werden (dies ist ein üblicher Teil der Quellcodeverwaltung, jedoch außerhalb des Umfangs dieses Artikels). Danach wird der Code an das Repository übergeben.
Natürlich bietet die Quellcodeverwaltung viele Vorteile für Teams. Pull-Requests sind jedoch eine leistungsstarke Funktion, die es Ihnen leicht macht, zu einem Projekt beizutragen und Ihren Code von anderen prüfen zu lassen, ihn zu kommentieren und zu verbessern, bevor er in die Codebase eingefügt wird.
Dies allein kann einem helfen, ein viel besserer Entwickler zu werden, da Sie aus den Erfahrungen anderer Entwickler lernen, die das größere Projekt betreuen. Wenn Sie dies noch nicht getan haben, verwenden Sie Pull-Anforderungen in Ihrem Workflow, um Ihren Code zu verbessern, und holen Sie sich Feedback von anderen.
.