Teamarbeit mit GitHub

GitHub ist zum Eckstein für Open Source-Software geworden. Entwickler lieben es, arbeiten daran zusammen und bauen ständig großartige Projekte auf. Neben dem Hosting unseres Codes ist es für GitHub der Hauptanziehungspunkt, es als kollaboratives Werkzeug zu verwenden. In diesem Tutorial möchten wir Ihnen einige der nützlichsten GitHub-Funktionen näher bringen, insbesondere für die Arbeit in Teams. Dadurch wird das Ganze effizienter, produktiver und vor allem Spaß!


Zusammenarbeit von Github und Software

Eine Sache, die ich sehr nützlich finde, ist die Integration des Github-Wikis in das Quelltextprojekt.

In diesem Lernprogramm wird davon ausgegangen, dass Sie bereits mit Git, dem verteilten Versionskontrollsystem Open Source, das 2005 von Linus Torvalds erstellt wurde, vertraut sind. Wenn Sie eine Revision oder eine Suche nach Git benötigen, besuchen Sie unseren vorherigen Screencast-Kurs oder sogar einige Posts. Außerdem sollten Sie bereits ein Github-Konto haben und einige grundlegende Funktionen ausführen, z. B. ein Repository erstellen und Änderungen an Github weiterleiten. Wenn nicht, dann gehen Sie weiter zu früheren Tutorials.

In der Welt der Softwareprojekte ist es unvermeidlich, dass wir in einem Team arbeiten, um ein Projekt zu liefern. In diesem Lernprogramm zu Github und zur Teamzusammenarbeit werden wir einige der gängigsten Tools erkunden, die wir normalerweise benötigen, wenn Sie mit Softwareteams arbeiten. Die besprochenen Werkzeuge sind:

  1. Teammitglieder hinzufügen - Organisation & Mitarbeiter
  2. Pull-Anfragen - Senden und Zusammenführen
  3. Bug-Tracking - Github-Probleme
  4. Analytics - Grafiken & Netzwerk
  5. Projektmanagement - Trello & Pivotal Tracker
  6. Kontinuierliche Integration - Travis CI
  7. Code-Review - Zeilenkommentar- und URL-Abfragen
  8. Dokumentieren - Wiki & Hubot

Ich bevorzuge einen Screencast?

Wenn Sie einen Screencast für einen visuellen Rundgang bevorzugen, können Sie es sich unten anzeigen lassen und dieses Tutorial als Randnotizen betrachten:


Video herunterladen

Tool 1: Hinzufügen von Teammitgliedern

Es gibt im Allgemeinen zwei Möglichkeiten, Github für die Teamzusammenarbeit einzurichten:

  1. Organisationen - Der Organisationsbesitzer kann viele Teams mit unterschiedlichen Berechtigungsstufen für verschiedene Repositorys erstellen
  2. Mitarbeiter - Der Repository-Besitzer kann Mitarbeiter mit Read + Write-Zugriff für ein einzelnes Repository hinzufügen

Organisationen

Wenn Sie mehrere Teams beaufsichtigen und für jedes Team mit verschiedenen Mitgliedern unterschiedliche Berechtigungsstufen festlegen und jedes Mitglied verschiedenen Repositorys hinzufügen möchten, wäre Organisation die beste Option. Jedes Github-Benutzerkonto kann bereits kostenlose Organisationen für Open Source Code-Repositorys erstellen. Um eine Organisation zu erstellen, navigieren Sie einfach zur Einstellungsseite Ihrer Organisation:

Um auf die Teamseite Ihrer Organisation zuzugreifen, können Sie einfach auf klicken http://github.com/organizations/[organization-name/0/teams um sie zu sehen oder sogar zu besuchen https://github.com/organizations/[organization-name/0/teams/new Neue Teams mit Mitgliedern mit drei verschiedenen Berechtigungsstufen erstellen, z.

  1. Nur ziehen: Holen und Zusammenführen mit einem anderen Repository oder einer lokalen Kopie. Nur lesender Zugriff.
  2. Drücken und Ziehen: (1) zusammen mit der Aktualisierung von Remote-Repo. Lesen + Schreibzugriff.
  3. Push, Pull & Verwaltung: (1), (2) zusammen mit Rechten auf Rechnungsinformationen, Erstellen von Teams sowie Löschen von Organisationskonten. Lesen + Schreiben + Admin-Zugriff

Mitarbeiter

Beide Mitarbeiter geben beides aus Lesen + Schreibzugriff zu einem einzigen Repository, das einem persönlichen Konto gehört. Um Mitbearbeiter (andere persönliche Github-Konten) hinzuzufügen, gehen Sie einfach zu https://github.com/[Benutzername?/[repo-name//settings/collaboration:

Sobald dies geschehen ist, sieht jeder Mitarbeiter eine Änderung des Zugriffsstatus auf der Repository-Seite. Nachdem wir Schreibzugriff auf das Repository haben, können wir eine Git Klon, an den Änderungen arbeiten, a git ziehen um alle Änderungen im Remote-Repository und letztendlich abzurufen und zusammenzuführen git Push, um das entfernte Repository mit unseren eigenen Änderungen zu aktualisieren:


Tool 2: Pull-Anfragen

Pull-Requests sind eine großartige Möglichkeit, unabhängig durch Abspalten zu einem Repository beizutragen. Wenn wir möchten, können wir am Ende des Tages eine Pull-Anfrage an den Repository-Besitzer senden, um die Codeänderungen zusammenzuführen. Die Pull-Anforderung an sich kann dann Diskussionen über die Codequalität, Merkmale oder sogar die allgemeine Strategie auslösen.

Lassen Sie uns nun die grundlegenden Schritte für eine Pull-Anfrage durchgehen.

Pull-Request wird initiiert

Es gibt zwei Arten von Pull-Anforderungen in Github:

  1. Gabel & Zugmodell - Wird in einem öffentlichen Repository verwendet, für das wir keinen Push-Zugriff haben
  2. Repository-Modell freigeben - Wird in einem privaten Repository verwendet, für das wir Push-Zugriff haben. In diesem Fall ist keine Gabel erforderlich.

Hier sehen wir den Workflow zwischen zwei Benutzern (Repo-Besitzer und Gegabelter Repo-Besitzer) für das Gabel- und Ziehmodell:

  1. Identifizieren Sie das Github-Repository, zu dem Sie beitragen möchten, und klicken Sie auf die Schaltfläche "Fork", um einen Klon des Repositorys in Ihrem eigenen Github-Konto zu erstellen:
  2. Dadurch wird eine genaue Kopie des Repositorys in Ihrem eigenen Konto erstellt
  3. Wählen Sie die SSH-URL, damit Sie bei jedem Vorgang nach dem SSH-Schlüssel-Passwort anstelle des Benutzernamens und des Kennworts gefragt werden git Push oder git ziehen. Als Nächstes werden wir dieses Repository auf unseren lokalen Computer klonen:
     $ git clone [ssh-url] [Ordnername] $ cd [Ordnername]
  4. Im Allgemeinen erstellen wir für jedes neue Feature einen neuen Git-Zweig. Dies ist eine bewährte Methode, da die Pull-Anforderung in Zukunft automatisch aktualisiert wird, wenn wir den Zweig nach einigen Diskussionen weiter aktualisieren. Erstellen wir einen neuen Zweig, um eine sehr einfache Änderung vorzunehmen readme.md Datei:
     $ git checkout -b [neue Funktion]
  5. Nachdem Sie die relevanten Ergänzungen zum Erstellen der neuen Funktionen vorgenommen haben, werden Sie die neuen Änderungen einfach übernehmen und den git master-Zweig abchecken:
     $ git add. $ git commit -m "In der Readme hinzugefügte Information" $ git Checkout-Master
  6. An diesem Punkt verschieben wir die Verzweigung in das entfernte Repository. Dazu prüfen wir zunächst den Filialnamen mit der neuen Funktion sowie die Aliasnamen für git remote repository. Dann drücken wir die Änderungen mit git push [git-remote-alias] [Name der Verzweigung]:
     $ git-Zweig * Master-Readme-Datei $ git remote -v ursprung [email protected]: [gegabter-Repo-Besitzer-Benutzername] / [Repo-Name] .git (Abruf) ursprung [email protected]: [g Besitzer-Benutzername] / [Repo-Name] .git (Push) $ git Push-Herkunfts-Readme
  7. In unserer gegabelten Repository-Github-Seite wechseln wir zum Zweig mit der neuen Funktion und klicken dann auf die Schaltfläche "Pull Request".
  8. Nach dem Absenden der Pull-Anfrage gelangen Sie direkt zur Pull-Request-Seite des ursprünglichen Repositorys. Wir werden unseren Pull-Request sowohl als neue Ausgabe als auch als neuen Pull-Request sehen.
  9. Nach der Diskussion ist es möglich, dass der Eigentümer des verzweigten Repositorys möglicherweise Änderungen an der neuen Funktion hinzufügen möchte. In diesem Fall werden wir uns in derselben Zweigstelle auf unserem lokalen Rechner auschecken, ihn festschreiben und an Github zurückschicken. Wenn wir die Pull-Request-Seite des ursprünglichen Repositorys besuchen, wird diese automatisch aktualisiert!

Pull-Request zusammenführen

Wenn Sie der ursprüngliche Repository-Besitzer sind, gibt es zwei Möglichkeiten, eine eingehende Pull-Anforderung zusammenzuführen:

  1. Direkt auf Github zusammenführen: Wenn wir direkt in Github zusammenführen, stellen Sie sicher, dass keine Konflikte vorhanden sind und es bereit ist, in den Master-Zweig aufgenommen zu werden. Der Besitzer des ursprünglichen Repositorys kann dazu einfach auf die grüne Schaltfläche "Pull-Anforderung zusammenfügen" klicken:
  2. Zusammenführen in unseren lokalen Maschinen: Zu anderen Zeitpunkten kann es zu Zusammenführungskonflikten kommen. Wenn Sie auf die Schaltfläche "Info" klicken, hat Github klare Anweisungen, wie wir den Zweig in unserem lokalen Computer zusammenführen können, indem Sie die Änderungen aus dem Zweig des Teilnehmers übernehmen:

Es gibt verschiedene Verzweigungsmodelle, die zur Versionierung in Softwareentwicklungsteams verwendet werden. Hier sind zwei beliebte Git-Workflow-Modelle: (1) Github-Workflow, der über ein einfaches Verzweigungsmodell verfügt und Pull-Anforderungen verwendet, und (2) Gitflow, der eine umfangreichere Verzweigung aufweist. Das letztendlich gewählte Modell hängt definitiv vom Team, dem Projekt und der Situation ab.


Tool 3: Fehlerverfolgung

Pull-Requests sind eine großartige Möglichkeit, unabhängig durch Abspalten zu einem Repository beizutragen.

In Github sind die Probleme das Zentrum für alle Fehlerverfolgung. Obwohl sie hauptsächlich zur Fehlerbehebung dienen, ist es auch hilfreich, Probleme auf folgende Weise zu verwenden:

  • Bugs: Dinge, die offensichtlich kaputt sind und repariert werden müssen
  • Eigenschaften: Tolle coole neue Ideen zu implementieren
  • Aufgabenliste: Eine Checkliste der auszufüllenden Elemente

Lassen Sie uns einige der Funktionen von Issues erkunden:

  1. Labels: Sie sind farbige Kategorien für jede Ausgabe. Sie sind hilfreich, um Probleme entsprechend zu filtern.
  2. Meilensteine: Es handelt sich um veraltete Kategorien, die jedem Problem zugeordnet werden können, und sind hilfreich, um zu ermitteln, welche Probleme für die nächste Version bearbeitet werden müssen. Da Meilensteine ​​mit Problemen verbunden sind, wird der Fortschrittsbalken automatisch aktualisiert, sobald die zugehörigen Probleme geschlossen werden.
  3. Suche: Automatische Vervollständigung der Suche nach Problemen und Meilensteinen
  4. Zuordnung: Jedes Problem kann einer verantwortlichen Person zugewiesen werden, um das Problem zu beheben. Es ist eine weitere nützliche Funktion, um zu sehen, woran wir arbeiten sollten.
  5. Automatisch schließen: Nachrichten mit bestätigen Fixes / Fixed oder Close / Closing / Closed # [Problemnummer] schließt das Problem automatisch.
     $ git add. $ git commit -m "Korrigierte URL. Fixes # 2" $ git Push-Ursprungsmaster
  6. Erwähnungen: Jeder kann auch eine Notiz hinterlassen #[Ausgabe Nummer] in ihren Botschaften. Da die Ausgabenummern mit Hyperlinks versehen sind, ist es sehr einfach, verwandte Probleme in der Diskussion zu erwähnen.

Tool 4: Analytik

Es ist klar, dass wir unsere Aufgabenliste und Updates eng mit unseren Code-Commits verknüpfen können.

Es gibt zwei Tools, die Einblick in ein Repository bieten - Diagramme und Netzwerk. Github Graphs bietet einen Einblick in die Mitbearbeiter und die Commits hinter jedem Code-Repository, während das Github-Netzwerk eine Visualisierung aller Mitwirkenden und ihrer Commits in allen verzweigten Repositorys bietet. Diese Analysen und Grafiken werden besonders bei der Arbeit in Teams sehr leistungsfähig.

Diagramme

Diagramme bieten detaillierte Analysen wie:

  • Mitwirkende: Wer waren die Mitwirkenden? Und wie viele Codezeilen wurden hinzugefügt oder gelöscht??
  • Commit-Aktivität: Welche Wochen fanden die Commits im vergangenen Jahr statt??
  • Code-Frequenz: Wie viele Codezeilen wurden während des gesamten Lebenszyklus des Projekts festgelegt?
  • Lochkarte: Zu welchen Tageszeiten finden die Commits normalerweise statt?

Netzwerk

Das Github-Netzwerk ist ein leistungsfähiges Werkzeug, mit dem Sie die Commits aller Mitwirkenden und ihre Beziehung zueinander sehen können. Wenn wir den Visualizer in seiner Gesamtheit betrachten, sehen wir jedes Commit in jedem Zweig jedes Repositorys, das zu einem Netzwerk gehört. Aufschlussreich!


Werkzeug 5: Projektmanagement

Während Github Issues über Projektmanagementfunktionen mit Problemen und Meilensteinen verfügt, bevorzugen einige Teams möglicherweise ein anderes Tool aufgrund anderer Funktionen oder des vorhandenen Workflows. In diesem Abschnitt werden wir sehen, wie wir Github mit zwei anderen bekannten Projektmanagement-Tools verbinden können - Trello und Pivotal Tracker. Mit Github-Service-Hooks können wir Aktualisierungsaufgaben mit Commits, Problemen und vielen anderen Aktivitäten automatisieren. Diese Automatisierung hilft nicht nur, Zeit zu sparen, sondern erhöht auch die Genauigkeit bei Updates für jedes Software-Entwicklungsteam.

Github und Trello

Trello bietet eine einfache visuelle Möglichkeit zum Verwalten von Aufgaben. Mit Agile Software Development-Methoden können Trello-Karten ein einfaches virtuelles Kanban-Board emulieren. Als Beispiel erstellen wir automatisch eine Trello-Karte, wenn eine Pull-Anfrage mit Github Service Hooks erfolgt. Lass uns durch die Schritte gehen!

  1. Eröffnen Sie ein Konto in Trello, wenn Sie noch kein Konto haben, und erstellen Sie ein neues Trello-Board.
  2. Gehen Sie zum Github-Repository> Einstellungen> Service Hooks> Trello
  3. Bekommen das ZEICHEN unter Install Notes # 1 mit dem zur Authentifizierung bereitgestellten Hyperlink.
  4. Verwenden Sie unter Install Notes # 2 die angegebene URL, um eine Json-formatierte Struktur zu generieren, die uns die gibt Listen-ID für jede Trello-Karte. BOARDID ist Teil der URL, wenn wir das Board unter besuchen https://trello.com/board/[BOARD-NAME\/[BOARDID]. ZEICHEN kann mit dem unter Install Notes # 1 angegebenen Hyperlink erstellt werden.
  5. Zurück in den Github-Service-Hooks Listen-ID und das Zeichen. Aktivieren Sie "Aktiv", "Test Hook" und wir sind alle darauf eingestellt, bei jedem Pull-Request automatische Updates zu erhalten.
  6. Bei der nächsten Pull-Anfrage wird die Pull-Request-Trello-Karte automatisch mit einem neuen Artikel versehen!

Github und Pivotal Tracker

Pivotal Tracker ist ein weiteres, leichtes, agiles Projektmanagement-Tool, mit dem die Story-basierte Planung dem Team die problemlose Zusammenarbeit ermöglicht, indem es sofort auf verschiedene Änderungen und den Projektfortschritt reagiert. Basierend auf dem aktuellen Fortschritt des Teams können auch Diagramme erstellt werden, um die Teamgeschwindigkeit, den Iterationsabbrand, den Releaseabbrand usw. zu analysieren. In diesem kurzen Beispiel liefern wir automatisch eine Story, indem wir sie mit einem Github-Commit verknüpfen!

  1. Erstellen Sie ein neues Projekt im Pivotal Tracker mit einer neuen Story, die geliefert werden muss.
  2. Gehen Sie zu Profil> API-Token (ganz unten). Kopieren Sie das angegebene API-Token.
  3. Kehren Sie zu Github-Repository zurück> Einstellungen> Service-Hooks> Pivotal Tracker. Fügen Sie das Token ein, markieren Sie "Aktiv" und klicken Sie auf "Einstellungen aktualisieren". Wir sind bereit, automatisch Pivotal Tracker-Geschichten mit Github-Commits zu liefern!
  4. Zum Schluss übernehmen wir die Änderungen und fügen die Tracker-ID mit dem Format zur Commit-Nachricht hinzu git commit -m "message [liefert #tracker_id]"
     $ git add. $ git commit -m "Haken von Github und Pivotal Tracker implementiert [liefert # 43903595]" $ git Push
  5. Wenn wir nun zum Pivotal Tracker zurückkehren, werden wir feststellen, dass die Story automatisch mit Links zu dem genauen Github-Commit geliefert wurde, das die Dateiänderungen anzeigt!

Mit diesen Trello- und Pivotal Tracker-Beispielen ist es klar, dass wir unsere Aufgabenliste und Updates eng mit unseren Code-Commits verknüpfen können. Dies ist eine enorme Zeitersparnis bei der Arbeit in einem Team und verbessert die Genauigkeit beim Verknüpfen von Aufgaben mit den genauen Commits. Die gute Nachricht ist, wenn Sie bereits andere Projektmanagement-Tools wie Asana, Basecamp und andere verwenden, können Sie auch Service Hooks auf ähnliche Weise erstellen. Wenn für Ihr aktuelles Projektverwaltungstool keine Service-Hooks vorhanden sind, können Sie sogar eine erstellen!


Tool 6: Kontinuierliche Integration

Continuous Integration (CI) ist ein wichtiger Bestandteil aller Softwareentwicklungsprojekte, die mit Teams arbeiten. CI stellt sicher, dass ein automatisierter Build (einschließlich Tests) Integrationsfehler so schnell wie möglich erkennt, wenn ein Entwickler seinen Code eincheckt. Dadurch werden Integrationsfehler definitiv reduziert und eine schnelle Iteration wird wesentlich effizienter. In diesem Beispiel werden wir sehen, wie Travis CI mit Github for CI zur Fehlererkennung verwendet werden kann. Außerdem wird die Zusammenführung empfohlen, wenn alle Tests bestanden wurden.

Einrichten von Travis CI

Wir verwenden ein einfaches "Hallo-Welt" -Projekt für node.js mit grunt.js als Build-Tool, um ein Travis-CI-Projekt einzurichten. Hier sind die Dateien im Projekt:

  1. Das hallo.js Datei ist das Knotenprojekt. Hier werden wir absichtlich ein Semikolon weglassen, damit das Grunt-Build-Tool nicht für das Flusen verwendet wird:
     var http = erfordern ('http'); http.createServer (Funktion (req, res) res.writeHead (200, 'Content-Type': 'text / plain'); res.end ('Hello World in Node! \ n') // ohne Semikolon wird das Flusen nicht passieren). listen (1337, '127.0.0.1'); console.log ('Server läuft unter http://127.0.0.1:1337/');
  2. package.json bezeichnet die Abhängigkeiten:
     "name": "hallo-team", "description": "Eine Demo für github und travis ci für die Teamzusammenarbeit", "author": "name "," version ":" 0.0.1 "," devDependencies ": " grunt ":" ~ 0.3.17 "," scripts ": " test ":" grunt travis --verbose "
  3. Das Gruntjs Das Build-Tool hat aus Gründen der Einfachheit nur eine Aufgabe (Flusen):
     module.exports = function (grunt) grunt.initConfig (lint: files: ['hello.js']); grunt.registerTask ('default', 'lint'); grunt.registerTask ('travis', 'fussel'); ;
  4. .travis.yml ist eine Travis-Konfigurationsdatei, mit der Travis unsere Tests ausführen kann:
     Sprache: node_js node_js: - 0,8
  5. Als nächstes melden Sie sich mit Ihrem Github-Konto bei Travis an und aktivieren Sie den Repository-Hook auf der Repository-Registerkarte.
  6. Wenn der vorherige Schritt den Build nicht auslöst, müssen Sie den Service-Hook manuell einrichten. Um es manuell einzurichten, kopieren Sie das Token unter der Registerkarte "Profil".
  7. Gehen Sie zurück zum Github-Repository, um die Github Travis-Service-Hooks mit dem Token einzurichten.
  8. Zum ersten Mal müssen wir ein Handbuch erstellen git Push Um den ersten Travis-Build auszulösen, und wenn alles in Ordnung ist, besuchen Sie einfach http://travis-ci.org/[Benutzername?/[repo-name] um den Build-Status als bestanden zu sehen!

Travis CI mit Pull Requests

Zuvor liefen die Schritte ohne CI im Prozess einer Pull-Anforderung in etwa wie folgt (1) gesendete Pull-Anfrage (2) - Zusammenführen (3) - Test, um zu sehen, ob sie erfolgreich ist / nicht. Da Travis CI an die Pull-Anforderungen angeschlossen ist, können wir die Schritte 2 und 3 umkehren, was die Entscheidungsfindung darüber, ob es gut ist, mit Travis zusammenzuschließen oder nicht, mit jedem Pull-Status den Status verschmelzen lässt. Mal sehen, wie das geht.

  1. Senden Sie einen Pull-Request mit einem vorübergehenden Build, und Travis wird seine Magie anwenden, um Sie wissen zu lassen, dass es gut ist, bereits vor dem Zusammenführen zusammenzuführen
  2. Wenn die Pull-Anforderung beim Build fehlschlägt, werden Sie auch von Travis darauf hingewiesen.
  3. Wenn wir auf den roten Alert-Button klicken, wird auch auf die Travis-Seite verlinkt, um uns die Details des Builds anzuzeigen.

Travis CI mit Github ist aufgrund automatisierter Builds und sofortiger Benachrichtigung für Teams von großem Nutzen. Der Fehlerkorrekturzyklus wird dadurch sicherlich viel kürzer. Wenn Sie Jenkins, ein anderes beliebtes CI-Tool, verwenden, können Sie auch Github-Service-Hooks sehr ähnlich einrichten.


Tool 7: Codeüberprüfung

Mit jedem Commit ermöglicht Github eine saubere Schnittstelle für allgemeine Kommentare oder sogar bestimmte Kommentare in einer Codezeile. Die Möglichkeit, Kommentare oder Fragen zu jeder einzelnen Codezeile zu erstellen, ist sehr nützlich, wenn Codeüberprüfungen durchgeführt werden sollen. Um die Inline-Kommentare anzuzeigen, aktivieren Sie das Kontrollkästchen ganz oben in jedem Commit.

Sehen wir uns einige URL-Muster an, die uns bei der Code-Überprüfung helfen können, indem wir schnell die Unterschiede zwischen den Commits angeben:

  1. Zweige / Tags / SHA1 vergleichen : Verwenden Sie das URL-Muster https://github.com/[Benutzername?/[repo-name?/compare/[starting-SHA1: [Endung-SHA1]. Sie können dasselbe mit Zweig oder Tags tun.
  2. Vergleiche ohne Leerzeichen : hinzufügen ?w = 1 zu den Vergleichs-URLs
  3. Diff : hinzufügen .diff zu den Vergleichs-URLs, um die git diff Informationen im Klartext. Dies kann für Skriptzwecke hilfreich sein.
  4. Patch : hinzufügen .Patch zu den Vergleichs-URLs, um die git diff Informationen, die für die Übermittlung von E-Mail-Patches formatiert sind.
  5. Leitungsverbindung : Wenn wir in einer Datei auf die Zeilennummer klicken, fügt Github ein #Linie am Ende der URL und machen Sie die gesamte Hintergrundfarbe der Linie gelb. Dies ist gut geeignet, um die genaue Linie hervorzuheben. Es akzeptiert auch Linienbereiche durch Hinzufügen #Start Ende. Hier sind Beispiele für Linienverknüpfung und Linienbereichsverknüpfung.

Tool 8: Dokumentieren

In diesem Abschnitt werden wir zwei Dokumentationsmethoden untersuchen:

  1. Formale Dokumentation: Github Wiki um Dokumentation für den Quellcode zu erstellen
  2. Informelle Dokumentation: Github Hubot, um Diskussionen zwischen Teammitgliedern zu dokumentieren und den Informationsabruf durch Interaktion mit einem lustigen Chat-Bot zu automatisieren!
  3. Erwähnungen, Abkürzungen und Emoji

Github Wiki

Mit jedem Repository kann ein Github-Wiki erstellt werden. Dies kann äußerst praktisch sein, um sowohl Quellcode als auch Dokumentation in demselben Repository unterzubringen. Um das Wiki zu erstellen, rufen Sie einfach die Registerkarte "Wiki" im Hauptheader auf, und Sie können Seiten mit Informationen erstellen. Das Wiki selbst verfügt über eine eigene Versionierung, und die Daten können für Aktualisierungen oder sogar für den Offlinezugriff auf unseren lokalen Computer geklont werden.

Eine Sache, die ich sehr nützlich finde, ist die Integration des Github-Wikis in das Haupt-Quellcode-Projekt, sodass ich nicht zwei separate Git-Projekte unterhalten muss. Dazu füge ich das Wiki-Git-Repo als Submodul aus dem Master-Zweig hinzu. Wenn Sie Travis CI oder ein anderes CI verwenden, stellen Sie sicher, dass das Build-Tool das Wiki-Submodul ignoriert. Für Travis CI-Datei .travis.yml, Folgendes hinzufügen:

 git: submodules: false

Fügen Sie dem Hauptcode-Repository ein git-Submodul-Wiki hinzu:

 $ git Submodul add [email protected]: [Benutzername] / [Repo-Name] .wiki.git In 'hello-team.wiki' klonen ... remote: Objekte zählen: 6, fertig. Remote: Komprimieren von Objekten: 100% (3/3), fertig. Remote: Summe 6 (Delta 0), wiederverwendete 0 (Delta 0) Empfangsobjekte: 100% (6/6), fertig. $ git add. $ git commit -m "fügte Wiki als Submodul hinzu" $ git Push-Ursprungsmaster

Nun erscheint das Wiki als Submodul innerhalb des Haupt-Quelltextprojekts.

Github Hubot

Kurz gesagt, Hubot kann enorm viel Spaß beim Dokumentieren und Benachrichtigen von Teamdiskussionen über wichtige Commits hinzufügen.

Hubot ist einfach ein Chat-Bot, der Informationen abrufen oder Benachrichtigungen bereitstellen kann, wenn er mit Commits, Problemen oder Aktivitäten von Github verbunden ist. In einem Team, das Meetings erheblich reduzieren oder sogar ganz beseitigen möchte, hilft Hubot mit einer Chat-Oberfläche unter den Teammitgliedern, jede einzelne Diskussion zu dokumentieren. Es fördert sicherlich flexible Arbeitszeiten, da niemand zur gleichen Zeit anwesend sein muss, damit Diskussionen stattfinden können. Warnung: Hubot macht furchtbar süchtig!

Beginnen wir mit der Einrichtung von Hubot, das auf Heroku gehostet wird, und als Bot mit der Campfire-Chat-Oberfläche! Für Heroku und Campfire gibt es kostenlose Versionen, um loszulegen.

  1. Wir werden die Campfire-Version von Github von Hubot verwenden. Wenn Sie möchten, können Sie auch Adapter für andere Chats wie Skype, IRC, Gtalk usw.
  2. Wenn Sie ein neues Lagerfeuer-Konto nur für Hubot eröffnen, wird ein neuer Chatroom erstellt, zu dem alle anderen später eingeladen werden.
  3. Stellen Sie Hubot mit den Anweisungen im Hubot-Wiki für Heroku bereit. Seien Sie nicht beunruhigt, wenn die Heroku-App-URL eine angibt Kann nicht bekommen / da gibt es nichts zu bekommen standardmäßig.
  4. Laden Sie sich vom Hubot Campfire-Konto aus ein. Melden Sie sich jetzt bei Ihrem eigenen Campfire-Konto an und führen Sie es aus Hubot helfen. Sie erhalten alle verfügbaren Befehle für Hubot.
  5. Probieren Sie es aus, wie Hubot Schiff es oder Hubot Karte mir CERN.
  6. Als Nächstes fügen wir ein Hubot-Skript hinzu. Es gibt eine Vielzahl von Befehlsabbildungen.
  7. Als Beispiel fügen wir das Skript github-commits hinzu, sodass Hubot uns jedes Mal, wenn ein Commit ausgeführt wird, im Chat informiert. Legen Sie die Datei ab github-commits.coffee in der Skripte Mappe.
  8. Aktualisieren package.json Datei mit den relevanten Abhängigkeiten, wie auf jeder Hubot-Skriptdatei unter Anmerkungen angegeben.
  9. Stellen Sie die Änderungen in Heroku erneut mit ein git Push Heroku-Meister.
  10. Navigieren Sie zu dem Repository in Github, dessen Commit-Benachrichtigung im Chat angezeigt wird. Fügen Sie den Web-Hook unter den Repo-Einstellungen hinzu. Im Falle des besagten "github-commit" -Skripts wird der Webhook sein [HUBOT_URL]: [PORT] / hubot / gh-commits? Room = [ROOM_ID]
  11. Wenn das Repository das nächste Mal ein Commit hat, wird der Hubot sich unterhalten und dies sagen!

Überprüfen Sie andere Hubot-Skripts, die sich auf Github beziehen, oder wenn Sie eines schreiben möchten, gibt es auch ein cooles Tutorial dazu! Kurz gesagt, Hubot kann enorm viel Spaß bei der Dokumentation und Benachrichtigung von Teamdiskussionen über wichtige Commits, Probleme und Aktivitäten in unseren Github-Repositories hinzufügen. Versuche es!

Als letzte Anmerkung zur Zusammenarbeit mit Github mit dem Team hier ein paar Tipps zur Produktivität:

  1. Erwähnungen - In jedem Textbereich können wir einen anderen Github-Benutzer mit angeben @Nutzer Der Benutzer wird über den Kommentar informiert
  2. Tastenkombinationen - Drücken Sie [Verschiebung] + ? Zugriff auf Github-Tastenkombinationen auf einer beliebigen Seite.
  3. Emoji - Mit dem Emoji-Spickzettel unterstützen Github-Textbereiche auch das Einfügen von Symbolen. Machen Sie weiter und haben Sie Spaß mit Ihren Teamkollegen!

Zusammenarbeit ohne Software auf Github

Die meisten von uns werden daran denken, Github nur für Softwareprojekte zu verwenden. Immerhin wurde Github für soziale "Kodierung" gestartet. Es gibt jedoch einige coole Github-Repositories, die für Projekte ohne Codierung verwendet werden, und sie waren ebenso großartig für die Zusammenarbeit und Diskussion. Da diese Projekte auch Open Source sind und jeder beitragen kann, ist es schnell möglich, Fehler zu beheben, Fehler zu melden und effektiv mit Gleichgesinnten zusammenzuarbeiten. Nur zum Spaß, hier einige davon: