AP2_FIAE - Versionsverwaltung - Kollaboration und verteile Workflows
Deck: AP2_FIAE Kategorie: Versionsverwaltung Subkategorie: Kollaboration und verteile Workflows Anzahl Karten: 25
Was ist ein Fork?::Ein Fork ist eine Kopie eines Repositories, das dir volle Kontrolle über Änderungen ermöglicht, ohne das Original-Repository zu beeinflussen.
Warum Fork erstellen?::Um unabhängig an eigenen Features oder Fixes zu arbeiten, ohne die Hauptentwicklungsarbeit zu beeinflussen. Oder um Beiträge zu Open Source Projekten zu leisten, ohne Schreibzugriff zu haben. Auch um ein Projekt an spezifische Bedürfnisse anzupassen.
Was ist ein Upstream-Remote?::Das Original-Repository, von dem der Fork erstellt wurde, wird als Upstream-Remote bezeichnet.
Wie fügt man ein Upstream-Remote hinzu?::Mit dem Befehl: git remote add upstream https://github.com/URSPRUNG_AUTOR/REPOSITORY_NAME.git
Wie bezieht man Änderungen vom Upstream?::Mit den Befehlen: git fetch upstream, git checkout main, git merge upstream/main
Wie pusht man Änderungen in den Fork?::Mit dem Befehl: git push origin main
Wie teilt man Änderungen mit dem Upstream?::Indem man einen Pull Request im Upstream-Repository erstellt.
Was ist ein Pull Request?::Ein Pull Request ist eine Anforderung an die Entwickler eines Projekts, Änderungen aus deinem Repository (oder Branch) in ihr Repository (oder dessen Hauptbranch) zu übernehmen.
Was sollte ein Pull Request enthalten?::Eine klare Beschreibung des Problems, das gelöst werden soll, und eine Zusammenfassung der Lösungsansätze. Screenshots, Links zu Issues/Diskussionen und eine Anleitung zum Testen sind hilfreich.
Was ist ein Code Review?::Ein Code Review ist ein Prozess, in dem Änderungen am Codebase von einem oder mehreren Entwicklern geprüft werden, bevor diese in den Hauptbranch integriert werden.
Warum sind Code Reviews wichtig?::Code Reviews dienen dazu, die Codequalität zu sichern, konsistente Designentscheidungen zu fördern und das Wissen im Team zu verteilen.
Was ist klonen eines Remote-Repositories?::Das Klonen eines Remote-Repositories ist der erste Schritt, um an einem verteilten Entwicklungsprojekt teilzunehmen. Es erstellt eine lokale Kopie des gesamten Projekts.
Was passiert beim Klonen?::Git kopiert alle Dateien, Branches und Commits des Remote-Repositories lokal, erstellt ein neues Verzeichnis und initialisiert darin ein lokales Repository. Außerdem wird ein Remote “origin” hinzugefügt.
Was bedeutet “origin”?::“origin” ist nur eine Konvention für den Namen des Remote-Repositories, von dem du geklont hast. Es dient als Alias.
Wie klont man einen spezifischen Branch?::Mit der Option —branch: git clone —branch
Was ist ein Shallow Clone?::Ein Shallow Clone klont nur die jüngste Historie, um Speicherplatz und Zeit zu sparen. Mit —depth 1 wird nur der letzte Commit geklont.
Was ist Pushen und Pullen von Änderungen?::Pushen sendet deine lokalen Änderungen an das Remote-Repository. Pullen aktualisiert deine lokale Kopie mit dem neuesten Stand aus dem Remote-Repository.
Warum sollte man pullen vor dem pushen?::Um sicherzustellen, dass deine lokale Kopie auf dem neuesten Stand ist und Konflikte zu vermeiden.
Was sind Merge-Konflikte?::Merge-Konflikte treten auf, wenn zwei Entwickler Änderungen an denselben Zeilen vornehmen. Git kann nicht automatisch entscheiden, welche Version korrekt ist.
Wie löst man Merge-Konflikte?::Die betroffenen Dateien müssen manuell bearbeitet, die Konflikte gelöst und die Dateien dann erneut committed werden.
Was sind Branching-Strategien?::Branching-Strategien sind Konventionen, wie Branches für Features, Releases und Hotfixes erstellt und gemanagt werden, um Kollisionen zwischen Entwicklern zu vermeiden.
Nenne zwei Branching-Strategien.::Feature Branching und Git-Flow.
Was ist Feature Branching?::Jedes neue Feature wird in einem eigenen Branch entwickelt, um den Hauptentwicklungszweig nicht zu beeinträchtigen.
Was ist Git-Flow?::Eine erweiterte Branching-Strategie mit speziellen Branches für Features, Releases und Hotfixes. Entwicklung findet im develop-Branch statt.
Warum ist effektive Kommunikation wichtig?::Eine effektive Kommunikation ist entscheidend für die erfolgreiche Zusammenarbeit in verteilten Workflows.