Git Einführung

INI-Mine Zugang

Bevor ihr git benutzen könnt müsst ihr es konfigurieren und falls noch nicht
vorhanden ein Schlüsselpaar für SSH anlegen. Github hat dazu eine gute Anleitung
für Windows, Linux und OSX (englisch): http://help.github.com/set-up-git-redirect

Allerdings muss der Key nicht bei github,
sondern hier hochgeladen werden: https://infoini.de/redmine/my/public_keys

Einführungen

  • Git kommt bereits mit zwei GUI-Tools: git gui und gitk

Videos

Befehlsübersichten zum Ausdrucken

Nützliche tools

  • Grafishe Darstellung: gitk, gitg, gitx, tig, git gui
  • Visualisierung: gource
  • Statistiken: gitstats

gitconfig Vorlage

Es kann durchaus nützlich sein sich Abkürzungen für oft verwendete Befehle zu machen.
Hier ist eine Vorlage für eine eigene .gitconfig

[user]                                  # Benutzerdaten
    name = Max Muster
    email = max@muster.com

[core]
    editor = vim                        # standardeditor festlegen
    excludesfile = ~/.gitignore         # globale .gitignore

[merge]                                 # tool für "git mergetool" festlegen
    tool = meld

[diff]                                  # tool für "git difftool" festlegen
    tool = meld

[color]                                 # Farben einschalten
    ui = auto
    diff = auto
    status = auto
    branch = auto

[alias]                                 # Abkürzungen
    st  = status
    ci  = commit
    cm  = commit -m                     # commit text als parameter
    co  = checkout
    pl  = pull                          # pull mit merge  ausführen
    plr = pull --rebase                 # pull mit rebase ausführen
    f   = fetch
    ps  = push
    b   = branch
    m   = merge
    dt  = difftool
    mt  = mergetool
    unstage = reset HEAD --             # Datei aus index entfernen

    vis = !gitk --all &                 # Visualisierungen:
    tig = !tig --all                    # "git-gui", "gitk und "tig" müssen
    num = shortlog -s -n                # vielleicht nachinstalliert werden
    g   = gui
    lol = log --graph --decorate --pretty=oneline --abbrev-commit --all

    # readonly server zum verteilen im lokalen netz
    # mit
    #   git pull git://HOSTNAME/
    # zugreifen
    serve = daemon --reuseaddr --base-path=.git --export-all --verbose

    dif = diff                          # Abkürzungen für typos
    psuh = push
    psh = push

# weitere git-tipps: http://gitready.com/