Benutzer-Werkzeuge

Webseiten-Werkzeuge


techniken:gitlab-dienst

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen gezeigt.

Link zu dieser Vergleichsansicht

Beide Seiten der vorigen Revision Vorhergehende Überarbeitung
Nächste Überarbeitung
Vorhergehende Überarbeitung
techniken:gitlab-dienst [2019/05/21 12:24]
d.golovko
techniken:gitlab-dienst [2021/02/01 17:41] (aktuell)
d.golovko [Versionsverwaltung mit Git+GitLab]
Zeile 1: Zeile 1:
 ====== Versionsverwaltung mit Git+GitLab ====== ====== Versionsverwaltung mit Git+GitLab ======
-Eine ausführliche Anleitung zur verwendung von Git gibt es hier: 
  
 +In euren Projekten werdet ihr kollaborativ an eurem Programm-Code arbeiten müssen. Dabei wird es vorkommen das zwei oder mehr, gleichzeitig Änderungen vornehmen, oder zu unterschiedlichen Terminen mit wechselnden Gruppenmitgliedern gearbeitet wird. Um diese Art der Zusammenarbeit zu erleichtern wird Git verwendet. Mit Git könnt ihr euren gemeinsamen Programm-Code aktuell halten und zeitgleich bearbeiten ohne dass ihr Gefahr läuft wichtige Arbeit von anderen zu überschreiben oder vorherige (funktionierende) Versionen eures Codes zu verlieren. Dies macht Git zu einem mächtigen Werkzeug welches weit verbreitet Anwendung erfährt. Damit werden oft Projekte verwaltet, die wesentlich komplexer ist als das, was ihr im Robotiklabor macht. Wenn ihr aber schon am Beispiel eines kleineren Projektes dem Umgang mit Git lernt, erleichtert es euch hoffentlich die Arbeit mit Git in der Zukunft. In diesem Artikel haben wir versucht, euch die Git-Basics vorzustellen. Weitere Infos findet ihr online, z.B.:
 +
 +Eine ausführliche Anleitung zur verwendung von Git gibt es hier:
  ​[[https://​git-scm.com/​book/​en/​v2/​Git-Basics-Getting-a-Git-Repository]]  ​[[https://​git-scm.com/​book/​en/​v2/​Git-Basics-Getting-a-Git-Repository]]
  
Zeile 7: Zeile 9:
 [[https://​rogerdudler.github.io/​git-guide/​index.de.html]] [[https://​rogerdudler.github.io/​git-guide/​index.de.html]]
  
-In euren Projekten werdet ​ihr kollaborativ an eurem Programm-Code arbeiten müssenDabei wird es vorkommen das zwei oder mehr, gleichzeitig Änderungen vornehmen, oder zu unterschiedlichen Terminen mit wechselnden Gruppenmitgliedern gearbeitet wirdUm diese Art der Zusammenarbeit zu erleichtern wird Git verwendet. Mit Git könnt ihr euren gemeinsamen Programm-Code aktuell halten und zeitgleich bearbeiten ohne dass ihr Gefahr läuft wichtige Arbeit von anderen zu überschreiben oder vorherige (funktionierende) Versionen eures Codes zu verlieren. Dies macht Git zu einem mächtigen Werkzeug welches weit verbreitet Anwendung erfährt.+Hier findet ​ihr Youtube-Videos zum Thema: https://www.youtube.com/​watch?​v=Nkz7TnhFvWU&​list=PL58qjcU5nk8s-UQHfzeVajBDwkbWqwSc6
 =====GitLab===== =====GitLab=====
 GitLab ist eine webbasierte Software zur Versionierung und gemeinsamen Bearbeitung von Programmcode mit Git. Kernkomponente ist ein Webportal an dem sich die Benutzer anmelden und eigene Projekte anlegen können. Für jedes Projekt wird automatisch ein Git-Repository angelegt, in dem dann der Programmcode versioniert abgelegt werden kann. Zusätzlich stellt GitLab zu jedem Projekt ein Wiki und einen Issue Tracker bereit über die dann Dokumentationen angeboten bzw. Fehler oder Änderungswünsche am Programmcode erfasst und verwaltet werden können. GitLab ist eine webbasierte Software zur Versionierung und gemeinsamen Bearbeitung von Programmcode mit Git. Kernkomponente ist ein Webportal an dem sich die Benutzer anmelden und eigene Projekte anlegen können. Für jedes Projekt wird automatisch ein Git-Repository angelegt, in dem dann der Programmcode versioniert abgelegt werden kann. Zusätzlich stellt GitLab zu jedem Projekt ein Wiki und einen Issue Tracker bereit über die dann Dokumentationen angeboten bzw. Fehler oder Änderungswünsche am Programmcode erfasst und verwaltet werden können.
Zeile 18: Zeile 20:
  
 ====== Installation ====== ====== Installation ======
-===== 0.: Software installieren =====+===== Software installieren =====
 ==== Kommandozeilenversion ==== ==== Kommandozeilenversion ====
 Die meisten Leute benutzen für die Verwaltung ihrer Git-Repositories ein Kommandozeilentool,​ für das es im Gegensatz zu den grafischen Tools auch ordentliche Doku gibt. Die meisten Leute benutzen für die Verwaltung ihrer Git-Repositories ein Kommandozeilentool,​ für das es im Gegensatz zu den grafischen Tools auch ordentliche Doku gibt.
Zeile 47: Zeile 49:
   * Linux: ​   * Linux: ​
   * Win: z.B. [[https://​www.sourcetreeapp.com/​]]   * Win: z.B. [[https://​www.sourcetreeapp.com/​]]
-===== 1.: Falls Du der/die erste in eurem Team bist:  Gruppe und Projekt auf dem TU-Server erstellen =====+===== Falls Du der/die erste in eurem Team bist:  Gruppe und Projekt auf dem TU-Server erstellen =====
 ==== Bei GitLab der TU Berlin anmelden ==== ==== Bei GitLab der TU Berlin anmelden ====
   * Mit dem Browser auf [[https://​gitlab.tubit.tu-berlin.de|https://​gitlab.tubit.tu-berlin.de]] gehen.   * Mit dem Browser auf [[https://​gitlab.tubit.tu-berlin.de|https://​gitlab.tubit.tu-berlin.de]] gehen.
   * Mit den eigenen Tubit-Daten anmelden   * Mit den eigenen Tubit-Daten anmelden
 +  * Kurzes Tutorial zum Einrichten des ersten Repositorys:​ {{:​techniken:​tubit-gitlab_schnelleinrichtung.pdf|}}
  
 ==== Projektrepository erstellen ==== ==== Projektrepository erstellen ====
Zeile 134: Zeile 137:
 </​code>​ </​code>​
  
-===== 5.: Versionskonflikte ​ ===== 
 <note important>​Bevor am Code gearbeitet wird immer die aktuellste Version "​pullen",​ nach getaner Arbeit den neuen Stand "​pushen"​!</​note>​ <note important>​Bevor am Code gearbeitet wird immer die aktuellste Version "​pullen",​ nach getaner Arbeit den neuen Stand "​pushen"​!</​note>​
 +
 +
 +===== 5.: Versionskonflikte ​ =====
 Falls jedoch gleichzeitig am Code gearbeitet wird kann es zu Versionskonflikten kommen, diese müssen manuell gelöst werden bevor ein push/pull durchgeführt werden kann. Falls jedoch gleichzeitig am Code gearbeitet wird kann es zu Versionskonflikten kommen, diese müssen manuell gelöst werden bevor ein push/pull durchgeführt werden kann.
  
Zeile 199: Zeile 204:
 [[gitlab-dienst::​Commit/​Push]] [[gitlab-dienst::​Commit/​Push]]
  
-==== Branching ====+===== Branching ​=====
 In Git gibt es die Möglichkeit sogenannte branches zu erstellen. In Git gibt es die Möglichkeit sogenannte branches zu erstellen.
 Ein Branch ist so etwas wie eine Kopie des bisherigen Programms in einer Art unter-repository. Bei Erstellung eines neuen repositorys wird automatisch der "​master"​ Branch erstellt. In diesem legt man die Ordnerstruktur des Projekts fest. Danach kann das gesamte Team alle Änderungen direkt in den master branch pushen. Das Problem hierbei ist, dass es vorkommen kann, dass jemand fehlerhaften code hochlädt oder dass eine änderung in einem anderen Programmteil einen Fehler in unserem hervorruft. Um derartige Konflikte zu vermeiden ergibt es bei größeren Projekten Sinn für verschiedene Teile des Programms verschiedene branches zu erstellen. Ein Branch ist so etwas wie eine Kopie des bisherigen Programms in einer Art unter-repository. Bei Erstellung eines neuen repositorys wird automatisch der "​master"​ Branch erstellt. In diesem legt man die Ordnerstruktur des Projekts fest. Danach kann das gesamte Team alle Änderungen direkt in den master branch pushen. Das Problem hierbei ist, dass es vorkommen kann, dass jemand fehlerhaften code hochlädt oder dass eine änderung in einem anderen Programmteil einen Fehler in unserem hervorruft. Um derartige Konflikte zu vermeiden ergibt es bei größeren Projekten Sinn für verschiedene Teile des Programms verschiedene branches zu erstellen.
techniken/gitlab-dienst.1558434296.txt.gz · Zuletzt geändert: 2019/05/21 12:24 von d.golovko