Heim >Technologie-Peripheriegeräte >IT Industrie >So verwenden Sie Git -Zweige und Buddy, um den Projektcode zu organisieren
Dieser Artikel wird in Zusammenarbeit mit Buddy erstellt. Vielen Dank, dass Sie die Partner unterstützt haben, die SitePoint ermöglicht haben.
In diesem Artikel wird die Einrichtung einer kontinuierlichen Integrations-/Bereitstellungspipeline für Zweig -Workflows geleitet. Wir werden den Buddy CI/CD -Dienst verwenden, um diese Pipelines einzurichten. Wir werden ein grundlegendes JavaScript -Projekt verwenden, bei dem wir mehrere Entwicklungszweige einrichten. Ich werde Ihnen zeigen, wie Sie Tests an jedem Zweigstyp automatisieren. Ich werde auch das Konzept des Zweig -Workflows vorstellen und einige Beispiele zeigen, die Sie in Ihrem Projekt aufnehmen können.
Um dieses Tutorial zu erlernen, benötigen Sie nur grundlegende Node.js -Fähigkeiten. Sie müssen auch mit Git vertraut sein. Hier sind einige Artikel, die Ihnen helfen können:
Um unsere Pipeline einzurichten, müssen wir einige Tests mit Scherz schreiben. Wenn Sie mit Scherz nicht vertraut sind, müssen Sie es nicht lernen. Der Schwerpunkt dieses Artikels liegt darauf, zu erfahren, wie Sie eine Pipeline einrichten, die automatisch neue Zweige auswählt und für Sie erstellt. Bevor wir anfangen, sollten wir uns die verschiedenen Verzweigungsstrategien ansehen, die wir anwenden können.
Strategie mit Null ist nur ein Sprichwort, das "Sie keine Zweigstrategie verwenden". Es ist auch als grundlegende Workflow bekannt. Sie haben nur einen Master -Zweig, in dem Sie Ihre Version direkt verpflichten und erstellen können. Diese Strategie ist bequem und gut, wenn das Projekt die folgenden Bedingungen erfüllt:
Diese Art von Projekten umfasst Tutorials, Demonstrationen, Prototypen, einführende Projektvorlagen und persönliche Projekte. Diese Methode hat jedoch mehrere Nachteile:
Alle diese Probleme können durch Einführung von Verzweigungsstrategien gelöst werden. Dies sollte Ihnen:
liefernBitte beachten Sie, dass Sie frei aus vielen Arten von Zweig -Workflows wählen können. Sie können auch benutzerdefinierte Zweig -Workflows erstellen, die zu Ihnen passen. Beginnen wir mit der einfachsten Verzweigungsstrategie.
In dieser Richtlinie richten Sie eine langfristige Zweigstelle namens entwickelt ein, die parallel zum Hauptzweig läuft. Alle Arbeiten werden zunächst in den Entwicklungszweig verpflichtet. Dies ist ein sicherer Ort, an dem Sie Code einführen können, der Ihr Projekt brechen kann. Sie benötigen eine Teststrategie, um sicherzustellen, dass Fehler bei der Zusammenführung der Änderungen nicht in den Hauptzweig eingeführt werden.
Die Vorteile dieses Workflows sind:
Die Nachteile dieses Workflows sind:
Schauen wir uns einen anderen Workflow an, der diese Herausforderungen lindern kann.
In diesem Workflow haben Sie jedes Mal, wenn Sie eine neue Funktion entwickeln möchten, eine neue Feature -Niederlassung ein. Wenn es ein Problem gibt, können Sie immer heiße Korrekturen auf der Hauptzweig anwenden. Entwickler müssen die neueste Lösung aus dem Hauptzweig extrahieren, bevor sie ihre Feature -Zweige in den Hauptzweig verschmelzen können.
Um die Funktionen und Fehlerbehebungen zu verfolgen, die derzeit in der Entwicklung sind, müssen Sie eine Namenskonvention für den Zweig vornehmen. Hier sind einige Formatvorschläge, die Sie im Internet finden können:
Die Vorteile dieser Strategie sind:
Die Nachteile dieser Strategie sind:
Gitflow ist ein anpassbares Modell, mit dem Sie die Funktionen auswählen können, die am besten zu Ihrem Projekt und Ihrem Team passen. Wenn Sie Gitflow verwenden, können Sie die Git -Erweiterung von Daniel Kummer für Git nehmen. Mit diesen Tools können Entwickler erweiterte Repository -Operationen basierend auf dem Modell von Vincent ausführen. Ich werde nicht ausführlich darauf eingehen, aber hier sind einige Dinge, die Sie wissen müssen.
Profis:
<code>$ git clone git@github.com:brandiqa/react-parcel-starter.git buddy-demo $ git remote rm origin # 将`username`替换为您自己的用户名 $ git remote add origin git@github.com:username/buddy-demo.git $ git config master.remote origin $ git config master.merge refs/heads/master $ git push -u origin master </code>Dieses Projekt ist ein einfaches React -Projekt, das mit Paket erstellt wurde. Sie können den folgenden Befehl ausführen, um sicherzustellen, dass er ausgeführt wird:
<code>$ npm install $ npm start </code>Wenn Sie Visual Studio -Code verwenden, drücken Sie F5, um den Browser zu starten. Öffnen Sie ansonsten die Browser -Seite und navigieren Sie zu Localhost: 1234.
Wie Sie sehen können, nichts Besonderes. Bevor wir es für Buddy CI bereitstellen, müssen wir einen Test schreiben. Wir werden dafür das Scherz -Test -Framework verwenden:
<code>$ git clone git@github.com:brandiqa/react-parcel-starter.git buddy-demo $ git remote rm origin # 将`username`替换为您自己的用户名 $ git remote add origin git@github.com:username/buddy-demo.git $ git config master.remote origin $ git config master.merge refs/heads/master $ git push -u origin master </code>
Aktualisieren Sie den Abschnitt Package.json -Skript, um Scherz auszuführen, wenn der Befehl npm test ausgeführt wird.
<code>$ npm install $ npm start </code>
Lassen Sie uns ein wenig srcapp.jsx aktualisieren:
<code>$ npm install -D jest </code>
Schreiben wir als nächstes einen passablen Test. Erstellen Sie die Datei app.test.js und fügen Sie diesen Code ein:
<code> "scripts": { //... "test": "jest" }, </code>
NPM -Testbefehl ausführen, um zu bestätigen, dass unser Test bestanden wurde.
reichen Sie Ihre Änderungen ein und geben Sie sie in Ihr Github -Repository. Als nächstes werden wir unsere CI -Pipeline auf Buddy einrichten. Wenn Sie mit der Plattform nicht vertraut sind, melden Sie sich einfach mit Ihrem Github -Konto für ein kostenloses Konto an. Bitte beachten Sie, dass Buddy viele andere Remote -Repository -Dienste als GitHub unterstützt:
Egal welcher Dienstleister Sie auswählen, Buddy listet Repositories auf, für die Sie Automatisierung einrichten können. In diesem Beispiel werden wir das Buddy-Demo-Projekt auswählen. Klicken Sie auf die Schaltfläche "Neue Pipeline hinzufügen" und füllen Sie die folgenden Details auf der nächsten Seite aus:
In unserer Haupt -Zweig -Pipeline werden wir Aktionen für:
Auf der nächsten Seite sehen Sie verschiedene Möglichkeiten, die Aktion zu definieren. Wählen Sie Node.js und stellen Sie auf der nächsten Seite sicher, dass der folgende Befehl angegeben ist:
<code><div>> <h1>></h1>React Parcel Starter Kit> <p>></p>This page is on master branch!> </div>> </code>
Sie können den Operationsnamen umbenennen, um den Test auf der Registerkarte Aktionen auszuführen. Ich möchte darauf hinweisen, dass Sie, wenn Ihr Test Datenbankdienste erfordert, eine über die Registerkarte "Dienste" festlegen können:
Die beliebtesten Datenbanken werden bereits unterstützt. Wählen Sie einfach den Datenbanktyp aus und geben Sie Verbindungsdetails und Anmeldeinformationen an. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche hinzufügen. Klicken Sie auf der nächsten Seite unten auf die Plus -Schaltfläche, um die Aktion der Bündelressourcen hinzuzufügen. Wählen Sie Node.js erneut und geben Sie den folgenden Befehl auf der nächsten Seite ein:
<code>$ git clone git@github.com:brandiqa/react-parcel-starter.git buddy-demo $ git remote rm origin # 将`username`替换为您自己的用户名 $ git remote add origin git@github.com:username/buddy-demo.git $ git config master.remote origin $ git config master.merge refs/heads/master $ git push -u origin master </code>
benennen Sie die Aktion um, um Ressourcen auf der Registerkarte Aktionen zu bündeln. Klicken Sie auf dies, wenn Sie fertig sind. Klicken Sie erneut auf das Plus -Zeichen, um die Bereitstellung zu Produktionsaktionen hinzuzufügen. Buddy native Unterstützung für das Bereitstellen von Projekten für verschiedene Arten von Hosting -Anbietern:
Wenn Sie ein Konto in einem dieser Dienste haben, können Sie alle Bereitstellungsoptionen verwenden. Wenn Sie keinen haben, wählen Sie einen Anbieter aus, mit dem Sie ein kostenloses Konto für die Bereitstellung Ihrer Anwendung einrichten können. In meinem Fall habe ich bereits ein gemeinsames Webhosting -Plankonto, das ich verwenden kann. In der Regel haben Sie Ihre Hauptwebsite www.domainname.com, um eine Live -Produktionsversion Ihres Projekts zu hosten.
Sie müssen über eine separate Staging -Site (normalerweise aus der Öffentlichkeit verborgen) verfügen, die aus Ihrer Entwicklungs- oder Integrationszweig -Pipeline eingesetzt wird. Eine Staging -Site kann nur eine Subdomain sein, und Suchmaschinen sollten sie nicht indexieren. Die Staging -Site ermöglicht es Entwicklern, Projektmanagern und Testern, zu bestätigen, dass neue Funktionen ordnungsgemäß funktionieren, bevor sie auf die Live -Produktionsstelle drängen.
Um Ihre Anwendung auf einem gemeinsam genutzten oder dedizierten Webhosting -Server (mit CPANEL) bereitzustellen, verwenden Sie einfach die FTP -Methode. Buddy bietet auch eine SFTP -Methode, die Ihr Projektressourcenpaket verschlüsselt, wenn Sie auf den Server hochgeladen werden. Hier ist ein Beispiel dafür, wie ich mein:
eingerichtet habe Sie müssen ein neues FTP -Konto mit Ihrem CPanel einrichten. Stellen Sie sicher, dass das Heimverzeichnis Ihres neuen FTP -Benutzerkontos direkt in den Ordner WWW oder Subdomain verweist. Andernfalls können Sie möglicherweise nicht über FTP auf das korrekte verwaltete Verzeichnis zugreifen. Nachdem Sie alle drei Vorgänge in der Pipeline eingerichtet haben, können Sie:
Angenommen, Sie verwenden einen Gitflow -Workflow oder ähnliches. Möglicherweise müssen Sie eine weitere Pipeline für: einrichten
Da es mehrere Funktionen und Hot Fix -Zweige gibt, möchten Sie vielleicht wissen, wie Sie eine Pipeline für diese Situation einrichten. Sehr einfach - Verwenden Sie einfach die Wildcard -Option:
Um zu bestätigen, dass Ihre Entwicklung/Funktion*/Hotfix* Pipeline funktioniert, erstellen Sie einfach einen Zweig auf Ihrem Computer. Lassen Sie uns in diesem Beispiel einen zufälligen Feature -Zweig erstellen:
<code>$ git clone git@github.com:brandiqa/react-parcel-starter.git buddy-demo $ git remote rm origin # 将`username`替换为您自己的用户名 $ git remote add origin git@github.com:username/buddy-demo.git $ git config master.remote origin $ git config master.merge refs/heads/master $ git push -u origin master </code>
Erstellen Sie dann einen neuen Test in app.test.js:
<code>$ npm install $ npm start </code>
Beiten Sie als nächstes die Änderungen und drücken Sie den Zweig zu Ihrem Github -Repository:
<code>$ npm install -D jest </code>
Wenn Sie schnell zu Ihrem Buddy -Account -Dashboard wechseln, sollten Sie Ihre Pipeline Ihre neue Filiale abholen und die von Ihnen definierte Aktion ausführen. Auf diese Weise richten wir Pipelines für jeden Zweig -Richtlinien -Workflow ein, den das Projekt angenommen hat.
Das Letzte, was zu beachten ist, ist, dass es am besten am besten ist, sie zuerst im gemeinsam genutzten Repository einzurichten, wenn Sie vorhaben, langfristige Zweige zu haben. Auf diese Weise können Sie beim Erstellen einer neuen Pipeline einfach die Option auswählen, um Ihre langfristige Zweigstelle auszuwählen.
Wir haben dieses Tutorial jetzt abgeschlossen. Stellen Sie als Herausforderung weiterhin Pipelines für heiße Reparaturen und Entwicklung ein. Erstellen Sie einige Zweige und schreiben Sie einige fehlgeschlagene Tests, um zu sehen, was passiert. Sie können auch weiterhin mehr über Git -Verzweigungsstrategien erforschen. Sie können sogar Git-Flow installieren und das Tool verwenden, um Ihren eigenen Zweig-Workflow anzupassen. Richten Sie dann Ihre Buddy -Pipeline ein, um Ihren benutzerdefinierten Git -Zweig -Workflow zu unterstützen.
Git Branch ist ein kritischer Bestandteil eines beliebigen Softwareentwicklungsprozesses. Sie ermöglichen Entwicklern, verschiedene Funktionen oder Fehlerbehebungen gleichzeitig zu verarbeiten, ohne die Hauptcode -Basis zu beeinflussen. Dies bedeutet, dass Entwickler mit neuen Ideen in einer sicheren Umgebung experimentieren können, ohne den vorhandenen Code zu brechen. Wenn die neue Funktion oder die neue Fehlerbehebung erfolgreich ist, können Sie sie mit der Hauptcode -Basis zurückführen. Dies macht den Entwicklungsprozess effizienter und verringert das Risiko, Fehler in den Produktionscode einzuführen.
Es ist einfach, einen neuen Zweig in Git zu erstellen. Sie können den Befehl git ast verwenden, gefolgt vom Namen des neuen ast. Zum Beispiel wird Git Branch New Feature eine neue Zweigstelle namens "New-Feature" erstellen. Nach dem Erstellen einer Filiale können Sie mit dem Git Checkout-Befehl wie folgt zu diesem Zweig wechseln: Git Checkout New-Feature.
Verschmelzung von Änderungen von einem Zweig zum anderen erfolgt in Git mit dem Befehl git merge. Zunächst müssen Sie in den Zweig wechseln, an dem Sie die Änderungen zusammenführen möchten. Dies kann mit dem Git Checkout -Befehl erfolgen. Sobald Sie sich in der richtigen Filiale befinden, können Sie Git Merge
Git -Zweigkonflikt tritt auf, wenn zwei oder mehr Entwickler in verschiedenen Zweigen Änderungen am gleichen Teil der Codebasis vornehmen und dann versuchen, diese Änderungen zusammenzuführen. Git weiß nicht, welche Veränderungen zu halten und welche Änderungen zu Ablagerungen zu Konflikten führen. Um Konflikte zu beheben, müssen Sie die widersprüchlichen Dateien manuell bearbeiten, um zu entscheiden, welche Änderungen zu behalten sind. Nachdem der Konflikt gelöst wurde, können Sie Git Add verwenden, um die behobenen Dateien in den Staging -Bereich hinzuzufügen und dann Git Commit zu verwenden, um die Änderungen zu begehen.
Das Löschen von Zweigen in Git wird mit dem Befehl git agir -d gefolgt vom Namen des Zweigs durchgeführt. Zum Beispiel löscht Git Branch -D-altmodische Ablagerung den Zweig mit dem Namen "Old Feature". Wenn der Zweig jedoch Änderungen hat, die nicht verschmolzen wurden, ermöglicht Git Sie nicht, den Zweig zu löschen. Wenn Sie sicher sind, dass Sie Zweige löschen und diese Änderungen verlieren möchten, können Sie stattdessen die Option -d verwenden, wie unten gezeigt: Git Branch -D -altmodell.
Sie können den Befehl Git Branch (ohne Parameter) verwenden, um alle Zweige im Git -Repository anzuzeigen. Dies listet alle Zweige im Repository auf, der aktuelle Zweig wird hervorgehoben und mit einem Sternchen gekennzeichnet.
Der lokale Zweig in Git ist ein Zweig, der nur auf der lokalen Maschine vorhanden ist, während der Remotezweig ein Zweig ist, der auf dem Remote -Repository vorhanden ist. Beim Klonen des Repositorys erstellt Git lokale Zweige für alle entfernten Zweige. Sie können diese lokalen Zweige bewältigen und dann Änderungen in die Fernabzeigung drücken, wenn sie fertig sind.
Umbenennung eines Git -Zweigs erfolgt mit dem Befehl git agir -m, gefolgt vom alten Zweignamen und dem neuen Zweignamen. Zum Beispiel wird Git Branch -m alter neuer Name den Zweig "alten Namen" in "Newname" umbenennen. Wenn Sie sich derzeit in der Filiale befinden, die Sie umbenennen möchten, können Sie den alten Zweignamen wie folgt weglassen: Git Branch -M NEW -NAME.
Sie können den Befehl git revert verwenden, gefolgt von einem Commit Hash, um Änderungen im Git -Zweig wiederherzustellen. Dies schafft ein neues Commit, das im angegebenen Commit vorgenommen wird. Zum Beispiel wird Git A867B4AF ein neues Komitee erstellen, das in einem Commit vorgenommen wird, das auf "A867B4AF" gehasht hat.
Sie können den Befehl Git Log verwenden, um den Commit -Verlauf des Git -Zweigs anzuzeigen. Dadurch werden eine Liste aller Commits angezeigt, die in der aktuellen Niederlassung in umgekehrter chronologischer Reihenfolge gemacht wurden. Wenn Sie den Commit-Verlauf für verschiedene Zweige anzeigen möchten, können Sie den Zweignamen wie folgt angeben: Git-Protokollzweigname.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie Git -Zweige und Buddy, um den Projektcode zu organisieren. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!