-
Notifications
You must be signed in to change notification settings - Fork 9
GitBasics
Macht vielleicht Sinn, sich zunächst mal mit der prinzipiellen Arbeitsweise von git (bzw. github) zu beschäftigen, bevor es and die ‘fortgeschrittenen’ Konzepte (Fork) geht …
Einen Account bei github braucht man natürlich – erste Voraussetzung; jeder email-Adresse wird ein ssh-Schlüssel zugeordnet (der public key), damit werden die Benutzer eindeutig identifiziert. So ziemlich jede Linux-Distro installiert standardmäßig ssh (zumindest die Client-Komponente), falls nicht bei der Installation automatisch ein Schlüssel-Paar (private/public key) generiert wird:
ssh-keygen -t rsa -C “[email-Adresse]” ausführen; den Inhalt der erzeugten Datei ‘~/.ssh/id_rsa.pub’ dann auf github hochladen.
Git braucht man natürlich auch – also installieren, und anschließend eine – globale – Konfiguration erzeugen, passend zum Account auf github:
git config —global user.name “[name]”
git config —global user.email “[email-Adresse]”
damit Änderungen im Repsoitory unmittelbar dem Benutzer zugeordnet werden (können).
Auf github ein neues Repository anlegen – dazu einen Namen vergeben: Nennen wir es mal test, ggf. eine kurze Beschreibung hinzufügen.
Da das Repository ja nicht leer bleiben soll, befüllen wir es … vom eigenen Rechner aus.
- Ein Verzeichnis test anlegen, in dieses Verzeichnis wechseln (mkdir test && cd test)
- Als git Repository initialisieren (git init)
- Da das Repository bisher noch leer ist, eine Datei hinzufügen (touch README)
- git davon in Kenntnis setzen, daß sich im Repository etwas verändert hat (git add README, wahlweise auch git add *)
- Die vorgenommenen Änderungen ins Repository übernehmen (git commit -m ‘[commit message]’)
So, jetzt ist das lokale Repository auf dem neuesten Stand – allerdings weiß github davon natürlich noch nix!
- git remote add origin git:github.com:[name]/test.git
-
git push origin master
Fertig – wenn jetzt die Seite im Browser aktualisiert wird sollte im Repository die Datei README auftauchen!
Die tägliche Arbeit gestaltet sich deutlich einfacher … idealerweise holt man sich das Repository einfach nochmal neu, nachdem es eingerichtet wurde:
- git clone git@github.com:[name]/test.git erzeugt eine lokale Kopie des Repositories
In dieser Kopie kann jetzt beliebig gewerkelt werden, Dateien/Verzeichnisse anlegen, löschen, umbenennen … was auch immer; der Ablauf ist dann aber immer wieder derselbe:
1. Hat sich das Repository auf github in der Zwischenzeit geändert: git pull
2. Die Änderungen am Repository git bekannt machen: git add * (das macht man im Verzeichnis test, arbeitet rekursiv
3. Die Änderungen übernehmen: _git commit -m ‘[commit message]’
4. Die Änderungen an github übergeben: git push
So, wenn das in Fleisch und Blut übergegangen ist machen wir mit Teil 2 weiter – wir wollen ja schließlich mit mehreren Leuten auf einer gemeinsamen Basis (Code etc.) arbeiten, da hilft es net wirklich viel, wenn jeder sein eigenes Repository hat und abgeschnitten vom Rest der Welt herumwurstelt!