Skip to content
On this page
2. Git
1

Git

Intro zu Git

Logo

24.02.2023
2. Git
2

GIT CVS

Version Management Tool

  • Geschrieben von Linux Torvalds
  • Begründer / Erfinder von GIT
  • Wird für den Kernel verwendet
24.02.2023
2. Git
3

GIT vs. andere CVS

  • GIT ist dezentral
    • ... hat keinen Single Point of Failure
  • Alle git clones haben immer die ganze History
  • Branches müssen nicht gemerged werden
    • ... führt zu viel weniger Konflikten
  • Open Source unter GPL
  • Kann Offline eingesetzt werde
    • um Checkpoints einzurichten
  • Filebasiert
  • schnell!!
24.02.2023
2. Git
4

GIT vs GitHub vs GitLab

  • GIT ist dezentral
    • ... hat keinen Single Point of Failure
  • Alle git clones haben immer die ganze History
  • Branches müssen nicht gemerged werden
    • ... führt zu viel weniger Konflikten
  • Open Source unter GPL
  • Kann Offline eingesetzt werde
    • um Checkpoints einzurichten
24.02.2023
2. Git
5

Repo erstellen

git init

24.02.2023
2. Git
6

Repo clonen (z.B. den Kernel)

git clone https://github.com/torvalds/linux.git

24.02.2023
2. Git
7

Branches anzeigen

git branch -a

zeigt auch remote branches an

24.02.2023
2. Git
8

Tags anzeigen

git tag

24.02.2023
2. Git
9

Auf Tag / Branch wechseln

git checkout v5.5.7 -b local-v5.5.7

24.02.2023
2. Git
10

Git Checkout

  • Wechselt auf einen anderen branch / tag
  • -b erstellt einen lokalen neuen branch
  • ... d.h. der lokale Branche ist nicht der gleiche Branche wie upstream!
  • ... man kann so besser experimentieren
24.02.2023
2. Git
11

Änderungen von Upstream herunterladen

git fetch

24.02.2023
2. Git
12

Änderungen übernehmen (merge)

git merge origin/master

24.02.2023
2. Git
13

Typischer workflow

bash
git fetch
git merge origin/master

# kurz
git pull
24.02.2023
2. Git
14

Tracken, aufnehmen einer Änderung

git commit -am "neues feature"

24.02.2023
2. Git
15

Änderung für andere veröffentlichen

git push origin master"

24.02.2023
2. Git
16

Konflikte

Auto-merging Main.java
CONFLICT (content): Merge conflict in Main.java
Automatic merge failed; fix conflicts and then commit the result.
  • Muss von Hand aufgelöst werden.
24.02.2023
2. Git
17

rebase vs. merge

  • merge ist chronologisch
  • rebase ist chronologisch, aber in einem branch
    • ... d.h. commits die logisch zusammengehören werden nicht im Zick-Zack in die History eingewebt.
24.02.2023
2. Git
18

GitHub

  • Microsoft Produkt
  • nicht Open Source
  • Hilft mit UI für das Management
  • Static Hosting
  • Communityaspekt
24.02.2023
2. Git
19

GitLab

  • semi Open Source (Open Source Freemium)
  • Hilft mit UI für das Management
  • gute Projektmanagement Tools
  • Issues, Epics, Milestone
  • Static Hosting
  • Premium Feature: Epics / Gantt Charts
24.02.2023
2. Git
20

Git im Einsatz

Diese Slides / Page

24.02.2023