Git: Arbeiten mit Git und Github

Initialisierung

  • git init project1
  • git remote add origin https://github.com/pecabo/project1

Konfiguration

  • git config –global <parameter> value
  • git config –local <parameter> value

Parameter [values] sind

  • user.name
  • user.email
  • core.autocrlf [input|true]
  • color.ui [auto]

Staging

  • git add <file> | -a] | –all
  • git commit

Diffs

  • git diff –staged (Diff Commit <-> Staging Area)
  • git diff HEAD (Diff Working <-> Staging <-> Commit)
  • git diff –color-words
  • git diff –word-diff
  • git diff -stat (Dateien anzeigen)

Logging

  • git log –graph –all –decorate –oneline
  • git log –stat
  • git log –patch –online
  • git log -M<99> –follow (=> nach Umbenennungen, M: % für Gleichheit)
  • git log –stat — <dir/file>

Löschen

  • git rm [–cachend] <file>
  • git add-u (=> nach os.rm)

Verschieben

  • git mv <file>
  • git rm + git add (=> nach os.rm)
  • git add -A

Ignorieren

.gitignore gilt für aktuelles Directory und allen Subdirs. Mögliche Einträge sind

  • # Kommentar
  • ! Aufheben einer generellen Regel
  • a*, *.log
  • tmp/

Anzeige aller ignorierten Dateien mittels

  • git ls-files –others -i –exclude-standard

Branching

Erzeugen

  • git branch newBranch
  • git checkout -b newBranch

Löschen

  • git branch -d newBranch (muss gemerged sein)
  • git branch -D newBranch (auch ungemerged)

Wechseln

  • git checkout branchname
  • git checkout commID (=> detached Head, kein Commit)

Merge

  • git checkout master => git merge
  • Eventuell git Status für Konflikte
  • Pro Konflikt >>>> HEAD (=master) ==== <<<<<< Branch
  • git merge –abort
  • git merge –squash (Merge ohne Historie)

Netzwerk

Koppeln

  • git remote add <Name(origin)> https://<hub-url> (=> Branches: origin/master, origin/branch1, …)
  • git remote set-url <Name(origin)> https://<hub-url>

Anzeigen aller Branches

  • git remote -v
  • git branch -r

Löschen

  • git remote rm origin

Austausch

  • git fetch origin
  • git pull origin (=> fetch + merge)
  • git push origin (alle Branches)

Dateien recovern

  • git checkout — Dateiname (letzter Commit überschreibt aktuelle Datei)

Reset und Rebase

Zusammenfassen von Commits. Soft muss commited werden, hard fasst im Repository zusammen. ~n ist Anzahl der letzten Commits

  • git reset [mixed | soft | hard]
  • mixed – Default
  • git reset HEAD
  • git reset –hard HEAD~5
  • git reset –soft HEAD~5

Rebase ist das Anfügen eines Braches in anderen (den Master-)Zweig . Die Commithistorie wird aufgeräumt

  • git checkout b1
  • git rebase master
  • git log –oneline

Tagging

Nach Wechsel auf Branch

  • git tag v1.0
  • git tag -a v1.1 -m „Anderer Name“

Anzeigen

  • git show tagname
  • git tag -l v1*

Pushen

  • git push origin v1.0
  • git push –tags

Löschen

  • git push origin -d v1.0
  • git push origin –delete v1.0

Ausschecken

  • git checkout -b release1 v1.0
  • Taggen alter Commits
  • git tag tagname commitID

 

Schreibe einen Kommentar