faecher:informatik:oberstufe:git:cloning:start

Unterschiede

Hier werden die Unterschiede zwischen zwei Versionen der Seite angezeigt.

Link zu der Vergleichsansicht

Nächste Überarbeitung
Vorherige Überarbeitung
faecher:informatik:oberstufe:git:cloning:start [28.04.2021 20:34] – angelegt sbelfaecher:informatik:oberstufe:git:cloning:start [28.04.2021 21:01] (aktuell) – [Änderung auf den Server zurückkopieren] sbel
Zeile 5: Zeile 5:
 Um besser zusammenarbeiten zu können ist es möglich, ein Repo über entsprechende Mechanismen anderen Menschen zur Verfügung zu stellen, z.B. via SSH oder https. Diese Veröffentlichung muss nicht unbedingt öffentlich geschehen, sondern kann durchaus z.B. mit einem Passwort geschützt werden, so dass nur Mitglieder einer bestimmten Gruppe Zugriff auf das Repo haben. Außerdem kann unterschieden werden zwischen lesendem Zugriff und schreibendem Zugriff. Um besser zusammenarbeiten zu können ist es möglich, ein Repo über entsprechende Mechanismen anderen Menschen zur Verfügung zu stellen, z.B. via SSH oder https. Diese Veröffentlichung muss nicht unbedingt öffentlich geschehen, sondern kann durchaus z.B. mit einem Passwort geschützt werden, so dass nur Mitglieder einer bestimmten Gruppe Zugriff auf das Repo haben. Außerdem kann unterschieden werden zwischen lesendem Zugriff und schreibendem Zugriff.
  
-{{ :faecher:informatik:oberstufe:git:cloning:gitclone.png |}}+===== Klonen eines Repositorys ===== 
  
 Ein so veröffentlichtes Repo kann man "klonen". Der Befehl lautet z.B. ''git clone https://codeberg.org/opyale/GitNex.git''. Die Adresse, von der das Repo geklont wird, heißt ''origin''. Ein so veröffentlichtes Repo kann man "klonen". Der Befehl lautet z.B. ''git clone https://codeberg.org/opyale/GitNex.git''. Die Adresse, von der das Repo geklont wird, heißt ''origin''.
 +
 +
 +{{ :faecher:informatik:oberstufe:git:cloning:gitclone.png |}}
  
 <code bash> <code bash>
-[frank@rita tmp]$ git clone https://codeberg.org/opyale/GitNex.git +git clone https://codeberg.org/ironiemix/uebungsserver.git 
-Klone nach 'GitNex' ... +Klone nach 'uebungsserver' ... 
-remote: Enumerating objects: 13923, done. +remote: Enumerating objects: 163, done. 
-remote: Counting objects: 100% (13923/13923), done. +remote: Counting objects: 100% (163/163), done. 
-remote: Compressing objects: 100% (3297/3297), done. +remote: Compressing objects: 100% (126/126), done. 
-remote: Total 13923 (delta 9164), reused 12444 (delta 8081+remote: Total 163 (delta 52), reused (delta 0
-Empfange Objekte: 100% (13923/13923), 10.56 MiB 7.51 MiB/s, fertig. +Empfange Objekte: 100% (163/163), 23.05 KiB 1.92 MiB/s, fertig. 
-Löse Unterschiede auf: 100% (9164/9164), fertig.+Löse Unterschiede auf: 100% (52/52), fertig.
 </code> </code>
  
 Nun existiert eine vollständige lokale Kopie auf dem lokalen Rechner, die alle Commits des ursprünglichen Repos nachverfolgbar enthält:  Nun existiert eine vollständige lokale Kopie auf dem lokalen Rechner, die alle Commits des ursprünglichen Repos nachverfolgbar enthält: 
  
-{{:faecher:informatik:oberstufe:git:cloning:auswahl_314.png |}}+{{ :faecher:informatik:oberstufe:git:cloning:auswahl_315.png |}} 
 + 
 + 
 + 
 +===== Änderung auf den Server zurückkopieren ===== 
 + 
 +Nun kann man mit dem Repo lokal ganz normal arbeiten, der Unterschied zum "lokalen" Repo ist, dass dieses Repository weiss, woher es kommt, und das ermöglich es auch, Änderungen wieder auf den entfernten Server zurückzu"pushen". Der dazu verwendete Befehl lautet ''git push''
 + 
 +Zunächst bearbeitet man lokal Dateien im Repo und erzeugt einen (oderer mehrere Commits) : 
 + 
 +{{ :faecher:informatik:oberstufe:git:cloning:auswahl_317.png |}} 
 + 
 +Mit dem Befehl ''git push'' kann man die Änderungen nun zum "origin" zurückpushen:  
 + 
 +{{ :faecher:informatik:oberstufe:git:cloning:auswahl_318.png |}} 
 + 
 +Damit landen die Änderungen auf dem ursprünglichen Server. 
 + 
 +===== Aktuell bleiben mit "pull" ===== 
 + 
 +Um Probleme beim "pushen" von Änderungen zu vermeiden - besonders wenn man in einem Team an einem Repo arbeitet, oder wenn man das Repo auf mehreren Rechnern gleichzeitig bearbeitet, muss man seine lokale Arbeitskopie aktuell halten. Das geschieht mit dem Befehl ''git pull''
 + 
 +Man sollte vor Arbeitsbeginn pullen und bevor man versucht zu pushen. wenn Konflikte auftreten, weil zwischenzeitlich Änderungen auf dasa zentrale Repository gepusht wurden, kann man diese zunächst lösen und dann das Ergebnis pushen. Wie man Konflikte löst betrachten wir gesondert. 
  
 + 
  • faecher/informatik/oberstufe/git/cloning/start.1619634853.txt.gz
  • Zuletzt geändert: 28.04.2021 20:34
  • von sbel