Entwicklung/Git: Unterschied zwischen den Versionen
Zur Navigation springen
Zur Suche springen
Git-Installatiion ist bereits auf einer anderen Seite beschrieben
(Clones mit SSH) |
(Git-Installatiion ist bereits auf einer anderen Seite beschrieben) |
||
| (3 dazwischenliegende Versionen von 2 Benutzern werden nicht angezeigt) | |||
| Zeile 1: | Zeile 1: | ||
== Versionsverwaltung der Entwicklungsdaten mit Git == | == Versionsverwaltung der Entwicklungsdaten mit Git == | ||
Das Opencaching.de-Projekt verwendet [ | Das Opencaching.de-Projekt verwendet [https://github.com/ Git] zur Verwaltung von Quellcode, Dokumentationen etc. Git ist leistungsfähiger und komplexer als klassische Versionsverwaltungstools wie CVS und Subversion. Es kann wesentlich besser mit Branches umgehen, also verschiedenen Codeversionen eines Projekts -- "branches (in Git) are cheap and easy". So kann man zu Testzwecken, zum Programmieren einzelner Features etc. eigene Zweige anlegen, die dann später wieder in den Haupt-Code (den ''Master-Branch'') einfließen oder wahlweise verworfen werden. Dieses Verzweigen und Wieder-Zusammenführen von Codeversionen ist erstaunlich einfach und zuverlässig. Richtig eingesetzt, erleichtert es das Projektmanagement. | ||
Die Verwendung von Git setzt eine gewisse Lernkurve voraus. Diese Anleitung soll dir den Einstieg erleichtern und erklärt alles, was du für den Git-Einsatz bei Opencaching.de wissen musst (und Einiges mehr). Sie erklärt die Verwendung von Git anhand der Kommandozeilenversion, die für alle relevanten Betriebssysteme erhältlich ist. Daneben gibt es verschiedene komfortable Benutzeroberflächen. Gerne kannst du ein weiteres Kapitel für die von dir bevorzugte Git-UI hinzufügen! | Die Verwendung von Git setzt eine gewisse Lernkurve voraus. Diese Anleitung soll dir den Einstieg erleichtern und erklärt alles, was du für den Git-Einsatz bei Opencaching.de wissen musst (und Einiges mehr). Sie erklärt die Verwendung von Git anhand der Kommandozeilenversion, die für alle relevanten Betriebssysteme erhältlich ist. Daneben gibt es verschiedene komfortable Benutzeroberflächen. Gerne kannst du ein weiteres Kapitel für die von dir bevorzugte Git-UI hinzufügen! | ||
Allgemeine Einführungen in Git findest du z.B. hier (Liste gerne ergänzen): | Allgemeine Einführungen in Git findest du z.B. hier (Liste gerne ergänzen): | ||
* | * https://rogerdudler.github.io/git-guide/index.de.html - Der einfache Einstieg (deutsch) | ||
* | * https://docs.github.com/de - eine leichtverständliche Einführung | ||
* | * https://www.stefanimhoff.de/git/ - Sammlung von einfachen und komplexeren Tutorials (englisch) | ||
== Funktionsweise von Git und Einsatz bei Opencaching.de == | == Funktionsweise von Git und Einsatz bei Opencaching.de == | ||
| Zeile 46: | Zeile 31: | ||
Mit <code>git remote -v</code> kannst du dir nun alle "remote"-Repositories anzeigen lassen, die in deinem Klon eingestellt sind. | Mit <code>git remote -v</code> kannst du dir nun alle "remote"-Repositories anzeigen lassen, die in deinem Klon eingestellt sind. | ||
== Installation == | |||
Die Installation und Einrichtung von Git ist im Artikel [[Entwicklungsumgebung einrichten#Github|Entwicklungsumgebung einrichten]] beschrieben. | |||
== Datenfluss == | == Datenfluss == | ||
| Zeile 92: | Zeile 81: | ||
siehst du nun, dass ein neuer ''commit'' in die Versionsgeschichte des aktiven Branches eingefügt wurde. Wahlweise kannst du auch mit <code>git log --stat</code> nochmals alle geänderten Dateien anzeigen lassen. | siehst du nun, dass ein neuer ''commit'' in die Versionsgeschichte des aktiven Branches eingefügt wurde. Wahlweise kannst du auch mit <code>git log --stat</code> nochmals alle geänderten Dateien anzeigen lassen. | ||
Um den Commit mit einem Ticket in der [[Entwicklung/Todo-Liste| | Um den Commit später mit einem Ticket in der [[Entwicklung/Todo-Liste|Jira]] zu verknüpfen, kannst du im Kommentar die Ticket Nummer (inklusive Projekt Kürzel) angeben. Aktuell übernimmt es das jedoch nur für Pull Requests. Dort sollte die Ticket Nummer am Anfang stehen. | ||
==== Exkurs: Commits ==== | ==== Exkurs: Commits ==== | ||
| Zeile 224: | Zeile 213: | ||
== Noch ein paar Gimmicks == | == Noch ein paar Gimmicks == | ||
* <code>git branch -m 1234-neuestes-Feature</code> Benennt den derzeit aktiven Branch um in "1234-neuestes-Feature". | |||
* <code>git diff Branchname</code> zeigt alle Unterschiede zwischen dem aktuellen Branch und einem anderen an. | * <code>git diff Branchname</code> zeigt alle Unterschiede zwischen dem aktuellen Branch und einem anderen an. | ||
* <code>git cherry-pick Commit-ID</code> übernimmt einen bestimmten Commit (von wo auch immer) in den aktiven Branch. | * <code>git cherry-pick Commit-ID</code> übernimmt einen bestimmten Commit (von wo auch immer) in den aktiven Branch. | ||