Die Ferne arbeitete in den letzten Jahren in der Remote viel häufiger in der Webentwicklung. Vor der Versionskontrolle wäre das Arbeiten aus der Ferne auf demselben Entwicklungsprojekt ein absoluter Albtraum gewesen. Entwickler hätten es müssten Senden Sie große Dateien zueinander (wahrscheinlich per E-Mail), einfügen in ihrem eigenen Code, bevor Sie ihn zurücksenden. Es gab keinen echten Weg, um zu verfolgen, was hinzugefügt worden war, und wann.
Glücklicherweise ist die Versionskontrolle an alle Fronten an allen Fronten angekommen und hat vielverträglicher entwickelt. Web-Projekte sind viel einfacher, umzusetzen und zu verwalten, insbesondere wenn es darum geht, in einem Remote-Entwicklungsteam zu arbeiten. Sie müssen sich keine Sorgen mehr um die aktuelle Version einer Website kümmern - jedes Teammitglied ist jederzeit kostenlos an jeder Datei zu arbeiten, es gibt keine Verwirrung, wenn die neueste Version einer Datei gespeichert wird - und oben Cloud-Speicherung. Hilft auch mit dem Prozess.
In diesem Tutorial verwenden wir Github um unseren Code zu verwalten. Es gibt zahlreiche verschiedene Arten von Versions-Control-Tool, wie beispielsweise Bitbucket und TFVC, aber obwohl sie alle unterschiedlich sind, bleiben die Prinzipien gleich, wenn es um den Verwalten von Code geht.
Weitere Möglichkeiten, um Ihren Standortprozess einfacher zu gestalten, sehen Sie unsere Guides an die Spitze Webseitenersteller und Web-Hosting Bedienung.
Erstens ist es sehr wichtig, bei der Arbeit in jedem Team ein erfolgreiches Verzweigungsmodell zu haben, um den Entwicklungs- und Bereitstellungsvorgang reibungslos zu gestalten. Sie werden höchstwahrscheinlich mehrere Entwickler haben, die an demselben Projekt arbeiten. Bei der Arbeit mit einer entfernten Arbeitskraft glaube ich, dass der beste Workflow aus drei Hauptzweigen sowie einer Reihe von temporären zusammengesetzt ist:
Es wird auch ein Satz von Merkmalszweigen geben. Diese sind jedoch nur vorübergehend, um die neuen Funktionen zunächst auszubauen.
Nehmen wir an, Sie führen ein Team mit zwei Entwickler aus, die aus der Ferne arbeiten. Wir nennen sie Sarah und James: Sie arbeiten beide an derselben E-Commerce-Website für einen Kunden. Sarah muss eine Funktion entwickeln, die die Kundendaten registriert.
Wir würden das in drei separaten Benutzergeschichten zusammenbrechen - Hinzufügen, Bearbeitung und Entfernung - und dann diese drei Tickets in den Sprint-Backlog hinzufügen.
Nehmen wir also an, dass Sarah auf dem Abschnitt Kundendetails beginnt. Sie müsste die Feature-Filiale 'Kundendetails' und eine Benutzergeschichte erstellen, die Sie für die erste Aufgabe 'Add-Details' erstellen.
GIT-Checkout entwickeln und amp; & amp; Git Pull Herkunft / Entwicklung
GIT-Kasse -B-Funktion / Kundendaten
GIT-Checkout -b Add-Details
Sarah würde weiterhin an der temporären Niederlassung "Add-Adresse" lokal arbeiten und ihre Arbeit begehen, während sie sich entwickelt. Nun, sagen wir nun, dass James Sarah mit den Kundendatenfunktionen helfen möchte, sodass er an dem DETAIL-Deletion arbeitet.
James würde die letzte Version der gemeinsam genutzten Niederlassung ziehen und einen neuen Zweig für die Benutzergeschichte 'Delete-Details' erstellen. Dann kann er anfangen, seine eigenen Ergänzungen zu machen, ohne sich Sorten, Sarahs Code zu überschreiben.
GIT-Checkout-Funktion / Kundendetails
Git Pull Origin / Feature / Kundendaten
GIT-Checkout -b Delete-Details
Er wird seine temporäre Niederlassung auch lokal an den Code verwenden und Änderungen begehen. Sobald Sarah ihr Feature lokal beendet hat, stellt sie das Ticket in die Code-Überprüfung. Sie würde ihren Code in den Staging-Zweig drücken und eine Pull-Anforderung mit der Staging-Umgebung eröffnen.
// Sie drückt ihren Code an den Staging-Zweig
Git Push Ursprung Add-Details
// Sie eröffnet eine Pull-Anfrage mit der Staging-Umgebung
GIT-Anforderung-Pull-Inszenierung Add-Details
Wir hätten jetzt die Kundendaten-Feature-Filiale und die zwei Benutzer-Story-Feature-Filialen in der Entwicklung "Add-Details" und "Delete-Details".
Sobald ihr Code überprüft wurde, kann sie ihre Niederlassung in die Inszenierung zusammenführen. Das Ticket befindet sich jetzt in der Validierungsspalte und wartet auf die Validierung des Blei-Entwicklers.
// Sie bekommt die letzte Version des Inszenierungszweigs
git Kasse Staging & Amp; & amp; Git Pull Herkunft / Inszenierung
git Merge Add-Details & Amp; & amp; Git Push-Ursprungs-Inszenierung
// sie baut die Validierungsumgebung
// und fragt den Produktinhaber, um zu bestätigen
Sobald Sarahs Arbeit validiert wurde, kann das Ticket in die Fertigspalte verschoben werden. Sie kann ihre Arbeit in den Feature-Zweig zusammenführen und eine andere Benutzergeschichte beginnen, z. B. Löschung der Kundendaten.
// Sie zieht die letzte Version des Feature-Zweigs
GIT-Checkout-Funktion / Kundendetails
Git Pull Origin Feature / Kundendaten
git Merge Add-Address & AMP; & amp; Git Push Origin Feature / Kundendaten
Wenn das gesamte Merkmal sowohl vom Hauptentwickler als auch vom Kunden validiert wurde, kann SARAH den Merkmalszweig in die Entwicklung zusammenführen, da er bereit ist.
// Sie bekommt die letzte Version der Entwicklungszweig
Git-Checkout entwickeln & amp; & amp; Git Pull Herkunft / Entwicklung
Git Merge-Funktion / Kundendetails & Amp; & amp; Git-Push-Ursprung entwickeln
Sobald alles komplett ist und es bereit ist, in der Produktion bereitzustellen, fügt sich James zusammen, um sich mit der Freigabe zu entwickeln und die Bereitstellung zu starten. An diesem Punkt würde er wissen, dass jeder Code korrekt ist und der Kunde glücklich ist. Er taggns den Commit der Veröffentlichung, um die Geschichte jeder Version zu erhalten.
GIT-Checkout entwickeln und amp; & amp; Git Pull Herkunft / Entwicklung
Git Checkout Release & AMP; & amp; Git Pull Origin / Release
GIT Merge entwickeln und amp; & amp; git Tag 2.1.
Git Push-Ursprungs-Release --Tags
Dieser Remote-Entwicklungs-Workflow kann zunächst ziemlich schwer zu verstehen sein, aber wenn Sie Ihr Team von dieser Methode dazu bringen, zu arbeiten, haben Sie einen freien Arbeitsablauf, ohne dass die von überschriebenen Dateien oder Ihren Entwicklern in derselben Gegend untergegangen werden müssen.
Es gibt einige wichtige Dinge, um sich zu erinnern:
git co entwickeln & amp; & amp; Git Pull Herkunft / Entwicklung
git branch -d feunting & amp; & amp; Git Push Ursprung --delete Inszenierung
Git CO-BB Staging & AMP; & AMP; Git Pull Origin Staging
Mit kleineren Projekten möchten Sie möglicherweise einen weniger komplexen Workflow verwenden. Sie könnten den Master verwenden, der die aktuellste Version, eine Entwicklungszweig, und dann ein Satz von Zweigen für jedes zusätzliche Merkmal - egal, ob das Forum, das Kontaktformular, das Kassesystem sein. Es hängt alles von Ihrer persönlichen Präferenz ab.
Der Umgang mit Mergekonflikten ist schwierig genug, wenn Sie alle im selben Raum arbeiten, aber sie können noch mehr ein Albtraum werden, wenn Sie alle in einem anderen Büro arbeiten. Das Wichtigste ist, sich daran zu erinnern, dass Sie ein Zusammenführen immer rückgängig machen und wieder in den Zustand zurückkehren können, bevor der Konflikt auftritt.
Egal, ob Sie alle Fusionen als Blei-Entwickler oder Ihr Team tun, sind diejenigen, die sie unabhängig tun, der erste Schritt ist, zu verstehen, was passiert ist.
Git wird dir sagen, dass du hast unermüdete Wege über Git Status. :
$ git Status
# Auf Zweigkasse-System
# Sie haben auftauchte Wege.
# (Bestimmen Sie Konflikte und führen Sie "Git Commit")
#
# Unermächtigte Pfade:
# (verwenden Sie "GIT add & lt; file & gt; ...", um die Auflösung zu markieren)
#
# beide modifiziert: Checkout.html
#
Es wurden keine Änderungen hinzugefügt, um Commit hinzuzufügen (verwenden Sie "Git Add Add" und / oder "Git Commit -a")
Nun ist die häufigste Ursache eines Konflikts, wenn Änderungen die gleichen Dateien in derselben Zeile beeinflussen. Lassen Sie uns also den Inhalt der Confliente Linie ansehen. Sie werden feststellen, dass Git wirklich gut in der Tatsache ist, dass es den konflikten Bereich markiert, indem er ihn einschließt Kopf & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; und & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; & gt; . In diesem Fall ist es Checkout-System. .
&; & Lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; & lt; KOPF Diese Zeile wurde begangen, während Sie im Zweig "User-Formular" arbeiten. =======. Diese Linie wurde dagegen in der Arbeit in der Niederlassung "Checkout-System" begangen. & gt; & gt; & gt; & gt; & gt; & gt; Refs / Heads / Checkout-SystemDer Inhalt nach dem ersten Marker stammt aus Ihrem aktuellen Arbeitszweig. Nach den Winkelhalterungen erzählt Git uns, welchen Zweig die Änderungen kamen. Eine Linie mit. =======. Trennt die beiden widersprüchlichen Änderungen.
Sie können jetzt einfach die Datei in einem Editor öffnen, nach den Konfliktmarkierungen suchen und erforderlichen Änderungen vornehmen. Wenn Sie fertig sind, muss die Datei genau so aussehen, wie Sie möchten, dass sie aussieht, oder alternativ können Sie den Git erkennen, dass Sie einfach mit einem der bearbeiteten Versionen gehen, angerufen werden unsere oder ihre .
git Checkout - Lours Pfad / zu / conflict-file.html
Es gibt auch viele Merge-Tool-Anwendungen, die dabei helfen können. Kaleidoskop ist ein großartiger für Mac.
Es ist genauso wichtig wie ein Lead-Entwickler, ein Projektmanagement-Tool zu haben, um Dinge wie Aufgaben und Fehler zu verwalten, insbesondere wenn Ihre Entwickler nicht basiert. Es gibt zahlreiche Lösungen, wie z. B. Zenhub und Asuna, aber ich glaube, dass Githubs eingebaute Projekt- und Ausstellungssystem das beste ist.
Sie können Dinge wie ein neues Projekt einrichten, Boards erstellen oder Probleme zuweisen. Und verwechseln Sie nicht nur Probleme mit Problemen: Sie können es unter anderem auch für Verbesserungen, Fragen und Bugs verwenden.
Hier sind einige seiner besten Eigenschaften:
Wenn Sie nach GitHub gehen und dann zu einem Ihrer Repositorys gehen, sehen Sie eine Registerkarte, die als Projekte bezeichnet wird. Von dort aus können Sie ein neues Projekt auswählen, Ihre Projektdetails einrichten und eine neue Projektvorlage erstellen.
Wenn Sie nun die Registerkarte Probleme auswählen, die sich auf der Oberseite befindet, und wählen Sie ein neues Problem aus, können Sie ein neues Thema erstellen. Sie können dann verschiedene Etiketten anwenden - dies sind Dinge wie Bug, Verbesserung, Frage und Duplikat. Möglicherweise verwenden Sie möglicherweise Verbesserung für eine neue Funktion oder Anforderung. Sie können dann verschiedene Teammitglieder der Aufgabe, einem Meilenstein und auch das gerade erstellte Projekt zuweisen.
Die zugewiesenen Mitglieder verfügen dann über eine Liste aller ihrer Aufgaben, und Sie können sogar das Projektkarten verwenden, um ein Track der derzeit aufzubauen. Wenn Sie sich an unser früheres Tutorial erinnern, sprachen wir über das Umzug von Tickets für Sprint-Backlog und Validierung. Github funktioniert also wirklich als ein All-in-One-Tool zum Überwachung eines Projekts.
Dieser Artikel wurde ursprünglich in Ausgabe 311 von veröffentlicht Netz Das weltweit meistverkaufte Magazin für Webdesigner und Entwickler. AUSGABE KAUFEN 311 Hier oder Abonnieren Sie hier .
Zum Thema passende Artikel:
(Bildkredite: Renaud Rohlinger) Websites mit Parallax-Scrollen sind aus einem bestimmten Grund weiterhin beliebt: Sie..
Seite 1 von 2: Erkunden Sie 5 neue CSS-Funktionen: Schritte 01-10 Erkunde..
Es gibt viele Möglichkeiten, sich zu kreativ zu nähern und Charakter-Design und alles hängt von dem ab, was Sie..
Die Auswahl sind eine der wichtigsten Aufgaben, die Sie lernen, in der Sie meistern können Photoshop CC. . Eine gute Auswahl wird einem Bild Realismus geben, ganz zu schweigen..
Die Rokoko-Maler des 18. Jahrhunderts verwendeten Fantasie, traumhafte Paletten, romantische Atmosphäre und lebhafte Pinselarbei..
Es ist ärgerlich für die Website-Benutzer, auf einen Link zu klicken, um festzustellen, dass die Webseite nicht von Interesse i..
Diese Woche wurde die Veröffentlichung einiger neuer Videos auf Adobe's MACHTLISTE-Wiedergabeliste, eine Sammlung von Clips, die alle darum, Designprojekte mit kreativen Cloud-Anwendungen in..
Bei der Gestaltung einer Marke, egal ob ein etablierter Eins oder ein Start, den Sie an der kreativen Führung einnehmen, ist die Konsistenz über alle Berührungspunkte der Schlüssel. ..