Basis Befehle – Die Staging Area – Befehle



Basis Befehle – Die Staging Area – Befehle

1 3


git-workshop


On Github tilmanpotthof / git-workshop

Git+Bitbucket

Grundlagen Workshop

Agenda

  • Einführung
  • Grundlagen I - Lokales Arbeiten
  • Grundlagen II - Verteiltes Arbeiten
  • Grundlagen III - Branching/Mergin
  • Vertiefungsthemen
  • Ausblick

Einführung

Grundlagen I - Lokales Arbeiten

Basis Befehle

            git init|add|rm|commit|status|log|config
          

Repository anlegen

            mkdir git-hallo-welt
            cd git-hallo-welt
            git init
            ls -la # Windows: dir
            git status
          

Datei anlegen, hinzufügen und committen

            echo "hallo welt" >> hallowelt.txt # nur unix
            git add hallowelt.txt
            git status
            git rm hallowelt.txt
            git rm --cached hallowelt.txt
            git add hallowelt.txt
            git commit -m "mein erster commit"
          

konfigurieren

            git config --global user.email "myemail@example.com"
            git config --global user.name "My Username"

            # Commit mit neuem Namen ändern
            git commit --amend --reset-author

            # Konfiguration anzeigen
            git config --local --list
            git config --global --list
          

Hilfe und Log

            git help log

            git log # Wo ist die Revisionsnummer? (Short Hash)

            # Kurze Anzeige
            git log --oneline

            # Nach Autor filtern
            git log --author="Tilman Potthof"

            # Benutzerdefinierte Formattierung
            git log --pretty=format:"%h %s"
          

Hilfe

            git help log
          

Die Staging Area

Befehle

              git add|reset|checkout|diff
            

Status und Veränderungen

              git status

              # Datei bearbeiten
              git status
              git diff

              # Datei hinzufügen
              git add <dateiname>
              git status
              git diff
              git diff -r head
              git diff -r <hash>

            

Zurücksetzen von Änderungen

              git status

              # Zurücksetzen
              git reset <dateiname>
              git status

              # Dateiinhalt prüfen

              # Varianten
              git reset head -- <dateipfad>
            

Zurückholen von Änderungen

              git status

              # Zurückholen
              git checkout <dateiname>
              git status

              # Dateiinhalt prüfen

              # Varianten
              git checkout head <dateiname>
              git checkout -r <hash> .
            

Weitere Befehle

              # Alle überwachten Dateien committen
              git commit -a -m "Wichtiger commit"

              # Partielles/Interaktives Hinzufügen
              git add -p
            

Grundlagen II - Verteiltes Arbeiten

Befehle

              git clone|pull|push|(fetch)|remote
            

Klonen

       git clone https://github.com/tilmanpotthof/git-workshop
            

Aufgabe

Name, Rolle und Fragen eintragen

Aufgaben Beschreibung Anwendungslink

Repository URL ändern

Besonderheit, um Änderungen privat zu halten. Normalerweise nicht notwendig.

  • Datei .git/config öffnen und anpassen
  • URL für [remote "origin"] anpassen

Push/Pull

              # Vorbereitung: Änderungen hinzufügen und committen

              # Auf den Server pushen
              git push origin master
              git push ## Kurzform

              # Änderungen vom Server holen
              git pull # (origin master)
            

Remote hinzufügen

              git remote -v
              git remote add github-public https://github.com/tilmanpotthof/git-workshop

              git pull github-public master
            

Weitere Befehle

              git fetch -p
              git fetch -p github-public
            

Grundlagen III

Branching / Mergin

Befehle

              git branch|merge|rebase
            

Branch erstellen

              git checkout -b mein-neuer-branch

              # Lange Fassung
              git branch mein-neuer-branch
              git checkout mein neuer-branch

              # Branches anzeigen
              git branch
              git branch -a
            

Remote Branches

              git checkout name-des-remote-branches

              # Mapping auf anderen Namen
              git checkout -b mein-lokaler-branch origin/mein-neuer-branch

              # Neuen lokalen Branch pushen
              git checkout -b noch-ein-neuer-branch
              git push -u origin noch-ein-neuer-branch
            

Branch löschen

              git branch -d mein-neuer-branch
              git branch -D mein-neuer-branch
            

Branch mit Bitbucket erstellen

Branch Übersicht

Merge

            git checkout master
            git merge mein-neuer-branch
            git merge --no-ff noch-ein-neuer-branch
          

Rebase

            git checkout -b rebase-test
            # 3 Dateien anlegen A, B, C und einzeln Committen

            git rebase -i HEAD~3

            # Commits aus squash ändern und Kommentar anpassen
          

Fragen?

Git+Bitbucket Grundlagen Workshop