Git ist ein unverzichtbares Werkzeug im Toolkit jedes Entwicklers. Es hilft Ihnen nicht nur, Ihre Codebasis effizient zu verwalten, sondern ermöglicht auch eine nahtlose Zusammenarbeit mit Teammitgliedern. Allerdings übersehen Entwickler oft einige leistungsstarke Funktionen und Workflows, die Git bietet. In diesem Blog befassen wir uns mit wichtigen Git-Tipps und -Tricks, die Entwicklern helfen, ihren Workflow zu optimieren, Branches effektiver zu verwalten, Konflikte einfacher zu lösen und GitHub-Aktionen für Continuous Integration/Continuous Deployment (CI/CD) zu integrieren.
Verzweigung ist eine der stärksten Funktionen von Git. Durch die Verwendung von Branches können Entwickler isoliert an verschiedenen Funktionen oder Fehlerbehebungen arbeiten und so sicherstellen, dass die Hauptcodebasis stabil bleibt. Hier sind einige wichtige Strategien zur Verbesserung Ihres Arbeitsablaufs:
Git Flow: Git Flow ist ein beliebtes Verzweigungsmodell, das Sie bei der Verwaltung Ihres Entwicklungslebenszyklus unterstützt. Die Hauptzweige in Git Flow sind Master (für stabilen Produktionscode) und Develop (für Features in der Entwicklung). Feature-Zweige werden aus der Entwicklung erstellt und wieder zusammengeführt, sobald das Feature abgeschlossen ist. Bugfix- oder Hotfix-Zweige werden vom Master aus erstellt, um Produktionsprobleme zu beheben.
Trunk-basierte Entwicklung: Diese Strategie ermutigt Entwickler, an kurzlebigen Zweigen zu arbeiten und häufig kleine, inkrementelle Änderungen im Hauptzweig zusammenzuführen. Es eignet sich hervorragend für eine schnelle Entwicklung und Integration und verringert die Wahrscheinlichkeit, dass lang laufende Zweige nicht mehr mit der Hauptcodebasis synchron sind.
Feature-Zweige: Erstellen Sie immer separate Zweige für Features (z. B. Feature/Anmeldeseite) und halten Sie sie isoliert, bis sie zur Zusammenführung bereit sind. Feature-Zweige helfen bei der klaren Unterscheidung zwischen verschiedenen Aufgaben und reduzieren die Komplexität der Verwaltung mehrerer Änderungen in einem Zweig.
Tipp: Verwenden Sie git branch -a, um alle lokalen und Remote-Zweige aufzulisten, und git branch -d
Zusammenführungskonflikte treten auf, wenn Änderungen an denselben Codezeilen in verschiedenen Zweigen vorgenommen werden. Auch wenn sie unvermeidbar sind, kann Ihnen der Umgang mit ihnen Zeit und Stress ersparen.
Vor dem Zusammenführen: Ziehen Sie vor dem Zusammenführen immer die neuesten Änderungen aus dem Zielzweig (z. B. git pull origin master) in Ihren Feature-Zweig. Dadurch wird sichergestellt, dass Sie mit dem aktuellsten Code arbeiten, wodurch viele Konflikte vermieden werden können.
: Wenn ein Konflikt auftritt, markiert Git die in Konflikt stehenden Dateien. Sie können diese Konflikte manuell lösen, indem Sie die Dateien bearbeiten, auswählen, welche Änderungen beibehalten werden sollen, und dann die gelösten Änderungen übernehmen.
# To see conflicting files git status # After resolving conflicts git addgit commit -m "Resolved merge conflict"
an. Es ermöglicht Ihnen, Commits zu komprimieren, zu bearbeiten oder neu anzuordnen, bevor Sie sie im Hauptzweig zusammenführen.
# Starten Sie eine interaktive Rebase für die letzten X-Commits
git rebase -i HEAD~X
# To see conflicting files git status # After resolving conflicts git addgit commit -m "Resolved merge conflict"
: Rebasieren Sie immer, bevor Sie mit dem Hauptzweig zusammenführen, um unnötige Zusammenführungs-Commits zu vermeiden. Zum Beispiel:
Git Checkout-Funktionszweig
Git Rebase Main
git checkout feature-branch git rebase main4.
# Speichern Sie Ihre aktuellen Änderungen
Git Stash
# Wenden Sie die gespeicherten Änderungen später an
Git Stash anwenden
# Lassen Sie den Vorrat fallen, sobald er angewendet wurde
Git Stash Drop
# Stash your current changes git stash # Apply the stashed changes later git stash apply # Drop the stash once it’s applied git stash drop
5.
Hier ist eine einfache GitHub Action YAML-Datei zum Einrichten eines grundlegenden CI-Workflows, der jedes Mal Tests durchführt, wenn Code gepusht wird:
Name: CI-Pipeline
An:
drücken:
Filialen:
- hauptsächlich
Jobs:
prüfen:
läuft weiter: ubuntu-latest
Schritte:
- verwendet: actions/checkout@v2
- Name: Node.js einrichten
verwendet: actions/setup-node@v2
mit:
Knotenversion: '16'
- Ausführen: npm install
- Ausführen: NPM-Test
name: CI Pipeline on: push: branches: - main jobs: test: runs-on: ubuntu-latest steps: - uses: actions/checkout@v2 - name: Set up Node.js uses: actions/setup-node@v2 with: node-version: '16' - run: npm install - run: npm testProfi-Tipp
: Halten Sie Ihre CI/CD-Pipelines stets effizient, indem Sie Abhängigkeiten zwischenspeichern und Tests parallel ausführen, um die Erstellungszeiten zu verkürzen.
6.
git tag -a v1.0.0 -m „Erste Hauptversion“
Git Push Origin v1.0.0
git tag -a v1.0.0 -m "First major release" git push origin v1.0.0
7.
git config --global alias.co checkout
git config --global alias.br Zweig
git config --global alias.ci commit
git config --global alias.st Status
git config --global alias.co checkout git config --global alias.br branch git config --global alias.ci commit git config --global alias.st status
Abschluss
Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.
Copyright© 2022 湘ICP备2022001581号-3