Einführung in Git

Linux statt Windows - 03.03.2016
von Niklas Heer

Gliederung

  1. Was ist Git?
  2. Git benutzen
  3. Nützliches
  4. Github
  5. Zusammenfassung
  6. Fragen

Was ist Git?

Versionsverwaltung

version control systems (VCS)


Creative Commons License

Creative Commons License

Definitionen

Begriffe, die man kennen sollte

Workspace

Das Verzeichnis, das ihr für euer Git- Repository ausgewählt habt.

Repository

Eine Sammlung an Commits & Branches, welche im .git Verzeichnis eures Workspaces liegen.

Local Repository

Dies sind eure lokalen Commits & Branches.
(im Prinzip euer Workspace)

Remote Repository

Dies ist ein Repository, welches nicht auf eurem Rechner liegt, sondern auf einem entfernten Rechner/Server.
(z.B. Github)

Branch

Eine parallele Version eures Repositorys. Änderungen in einem Branch betreffen andere Branches nicht. Euer „Standard-Branch“ ist der master Branch.

Commit

Eine Momentaufnahme eures Workspaces zu einem bestimmten Zeitpunkt. Dieser wird anhand einer SHA-1 Prüfsumme identifiziert.

SHA-1 Prüfsummen

HEAD

Name des Commits der momentan ausgechecked ist.

Fork

Eine Kopie eines kompletten Repositorys mit allen Commits und Branches.

Upstream

Bei Forks/Branches bezeichnet dies das original Repository.

Git benutzen


Quelle: http://www.patrickzahnd.ch/wp-content/uploads/2014/02/git-transport-v1-1024x723.png

Demo

Selbst nachlesen

https://rogerdudler.github.io/git-guide/index.de.html

Nützliches

git gui

Mit diesem Tool kann man in einer GUI nochmals seinen Commit checken, bevor man ihn dann commited.

Bash Aliases

Wir haben Shortcuts für die wichtigsten git-Befehle angelegt.
(gPush, gPull & gReset)

gPush, gPull & gReset



						alias gPush="git push origin master"
						

						alias gPull="git pull origin master"
						

						alias gReset="git reset --hard origin/master"
						

ganz praktisch

								alias gg="git gui"
							

Commit Messages

  1. Nicht mehr als 50 Zeichen
  2. Sich Zeit nehmen (kein git commit -m)
  3. Sich folgende Fragen stellen:
    • Warum ist die Änderung notwendig?
    • Wie löst die Änderung das Problem?
    • Welche Seiteneffekte hat die Änderung?
  4. Falls vorhanden Link zum Problem einfügen

Quelle: https://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message

Beispiel: Commit Message


							Redirect user to the requested page after login

https://trello.com/path/to/relevant/card

Users were being redirected to the home page after login, which is less
useful than redirecting to the page they had originally requested before
being redirected to the login form.

* Store requested path in a session variable
* Redirect to the stored location after successfully logging in the user
						
Quelle: https://robots.thoughtbot.com/5-useful-tips-for-a-better-commit-message

tig, gitk & gitg

Sind alles Programme, die es euch erleichtern können alte Commits anzusehen.
(es gibt auch git log)

Demo

Github

Demo

Fazit

Begriffe

  • Workspace
  • Repository
  • Local Repository
  • Remote Repository
  • Branch
  • Commit
  • HEAD

Quelle: http://www.patrickzahnd.ch/wp-content/uploads/2014/02/git-transport-v1-1024x723.png

Tools

  • git gui
  • Bash Aliases
  • tig, gitk & gitg
  • uvm...

Github

Ermöglicht es euch noch komfortabler gemeinsam an Projekten zu arbeiten.

One more thing

GitKraken


Link: http://www.gitkraken.com/

Fragen?


Quelle: https://scientificbsides.files.wordpress.com/2015/12/in-case-of-fire-1-git-commit-2-git-push-3-leave-building2.png