Zuletzt geändert am 17. September 2016 um 21:18

Git Benutzen

Version vom 17. September 2016, 21:18 Uhr von DCEM (Diskussion | Beiträge) (Konfiguration)

Es soll versucht werden die Dateien und Entwicklungen im Hackerspace zu Versionieren und online zur Verfügung zu stellen..

Was ist Vorraussetzung

  • Falls keine Kenntnisse Vorhanden sind, was GIT ist und wie man damit umgehen kann die Links weiter besuchen
  • Zugang auf Github zu mit einem eigenen Account (selbst auf github einen erstellen)
  • Zugang zum hackerspaceffm Repository bekommen haben (auf der internen Liste nachfragen)

Wie geht das mit dem Git

Installation unter Windows

https://git-scm.com/

Parameter während der Installation Aufzeichnen:

Git-[Version].exe /SAVEINF=gitinstall.inf

Inf File Verwenden:

Git-[Version].exe /LOADINF=gitinstall.inf /SILENT

Batchfile

Dieser Batchfile liegt in meinem Download-Verzeichnis und lässt mich git mit den von mir gewünschten Einstellungen, welche in der GitInstall.inf festgelegt sind, installieren.
Ist GitInstall.inf nicht vorhanden wird dieser erstellt.
Es wird nach git*.exe gesucht und die alphabetisch größte Version installiert.
ACHTUNG! 2.10 liegt alphabetisch vor 2.9 und würde somit nicht genommmen.

Datei:GitInstall.zip

Probleme bei Verwendung von Plink mit Agent forwarding

Wenn der server host key noch nicht in der registry zwischengespeichert wurde kommt folgende Frage:
GitPlinkError.jpg

Diese lässt sich jedoch nicht beantowrten.
Lediglich ein Abbruch durch Strg + C ist möglich.


Dieses Problem lässt sich wie folgt umgehen (Beispiel: GitHub):

echo y | "%ProgramFiles(x86)%\PuTTY\plink.exe" -v -agent git@github.com

(gegebenenfalls den PuTTY Pfad korrigieren.)

Konfiguration

Username und Mailadresse setzen

git config --global user.name "<Example>"
git config --global user.email "<Example>@users.noreply.github.com"

VI Basics - was man für commit messages braucht

Wenn man sich vier Sachen merkt braucht man den Editor nicht umkonfiguieren und man kommt ggf. auch mal auf einer Gastmaschine zurecht.

  • ESC - Wechseln zum "command mode" des editors - Kommandos werden bei Eingabe ganz unten angezeigt.
  • Im command mode:
    • i - Wechseln zum "insert mode". Wenn unten -- INSERT -- steht kann man tippen.
    • :x ENTER - Speichern und schliessen
    • :q! ENTER - Speichern ohne zu schliessen (Commmit wird abegrochen)


Vi Cheat Sheet

Default Editor setzen (global)

git config core.editor notepad
git config format.commitMessageColumns 72

Default Editor setzen (aktuelles Repository)

git config --global core.editor notepad
git config --global format.commitMessageColumns 72

Installation unter Debian/Ubuntu

  • Installation
    • sudo apt-get install git
  • Konfiguration
    • wenigstens Username und Mailadresse setzen bevor man, wenn auch nur lokal was macht
  $ git config --global user.name "Firstname Lastname"
  $ git config --global user.email "your_email@youremail.com"
    • Überprüfen was alles gesetzt ist
  $ git config --list
    • Setzt remote repository
  $ git remote add origin https://github.com/hackffm/repository.git
    • Zeigt remote Verbindung an
  git remote -v
    • Kopiert Repository lokal
  $ git clone /..../repository/.git
    • wurde ein repository auf github angelegt un existiert schon lokal,kann es so geholt werden
  $ git pull https://github.com/hackffm/repository master
    • Lädt Änderungen in das remote Repository
  $ git push -u origin master

Installation unter Mac OS X

Unter Mac OS X installiert man git am besten via MacPorts. Das ist ein Paketmanager der so ähnlich funktioniert wie Aplitude unter Linux.

  • Macports runterladen und installieren [1]
  • als Administrator im Terminal via sudo port selfupdate die portliste aktualisieren
  • git installieren via sudo port install git

Links in Deutsch

Ausführliche Übersicht [2]
Blog Artikel mit Übersicht [3]

Links in English

Git Tutorial and Cheat Sheet
Übersicht Technik [4]
Einstiegskurs [5]
Survival Guide mit den wichtigsten Commandos [6]
10 wichtigsten Tutorials (all you need !) [7]
Die Offizielle Einweisung auf Github (Linux)[8]

siehe auch

Versionskontrolle mit Subversion