git Workshop Matthias Beyer Hochschule Furtwangen University matthias. hs-furtwangen. de beyermatthias. de 19.

Größe: px
Ab Seite anzeigen:

Download "git Workshop Matthias Beyer Hochschule Furtwangen University matthias. beyer@ hs-furtwangen. de mail@ beyermatthias. de 19."

Transkript

1 git Workshop Matthias Beyer Hochschule Furtwangen University matthias. hs-furtwangen. de beyermatthias. de 19. November 2013 Matthias Beyer (HFU) Git 19. November / 113

2 Overview 1 Einführung in Git Geschichte Was ist Git... Was Git nicht ist... Des weiteren... Matthias Beyer (HFU) Git 19. November / 113

3 Overview 2 Einfache Kommandos Konfigurieren und ein Repo erstellen Den Status abfragen und eine Datei zu git hinzufügen Historie und Änderungen ansehen Wer hat was geschrieben? Änderungen rückgängig machen und zurücksetzen Fragen und Antworten Matthias Beyer (HFU) Git 19. November / 113

4 Overview 3 Weitere Basiskommandos Entwicklungszweige Entwicklungszweige erstellen und benutzen Entwicklungszweige zusammenführen Git die arbeit machen lassen Matthias Beyer (HFU) Git 19. November / 113

5 Overview 4 Weitere Basiskommandos Mit (einem) Server arbeiten Matthias Beyer (HFU) Git 19. November / 113

6 Overview 5 Fortgeschrittene Kommandos Entwicklunszweige umpflanzen Entwicklunszweige interaktiv umpflanzen Automatisiertes Fehlersuchen Matthias Beyer (HFU) Git 19. November / 113

7 Section 1 Einführung in Git Matthias Beyer (HFU) Git 19. November / 113

8 Warum Versionskontrolle Warum Versionskontrolle? Matthias Beyer (HFU) Git 19. November / 113

9 Warum Versionskontrolle Einfache Verwaltung von Änderungen Rückgängig machen von Änderungen Wer hat was geschrieben Verteiltes arbeiten Fehlersuche Matthias Beyer (HFU) Git 19. November / 113

10 Subsection 1 Geschichte Matthias Beyer (HFU) Git 19. November / 113

11 Die Anfänge (1) (Kernel wurde mit Patchfiles versioniert) Kernel wurde mit BitKeeper versioniert Lizensänderungen bei BitKeeper Matthias Beyer (HFU) Git 19. November / 113

12 Die Anfänge (2) Linus Torvalds schreibt eigene Versionsverwaltung (2005, April) Nach wenigen Tagen "fertig" Matthias Beyer (HFU) Git 19. November / 113

13 Anforderungen Torvalds wünscht sich... Unterstützung verteilter, BitKeeper-ähnlicher Arbeitsabläufe Sehr hohe Sicherheit Hohe Effizienz Matthias Beyer (HFU) Git 19. November / 113

14 Anforderungen Der Kernel heute: 16,6 Mio Zeilen Quellcode in Files ings Files Entwickler Änderungen Matthias Beyer (HFU) Git 19. November / 113

15 Anforderungen Ein "normales"git-projekt: typo Zeilen Quellcode in Files insg Files 166 Entwickler Änderungen Matthias Beyer (HFU) Git 19. November / 113

16 Namensgebung 1 I m an egotistical bastard, and I name all my projects after myself. First Linux, now Git. 1 Linus Torvalds Matthias Beyer (HFU) Git 19. November / 113

17 Subsection 2 Was ist Git... Matthias Beyer (HFU) Git 19. November / 113

18 ... für Anwender Git ist ein Verteiltes (Quellcode-)Versionskontrollsystem, dass einfach zu lernen ist... einen kleinen "Fußabdruck"hat... schnell ist... einfaches Branch-Management mit sich bringt... verschiedene Workflows unterstützt... kryptografische Sicherheit für die Versionshistorie bietet Matthias Beyer (HFU) Git 19. November / 113

19 ... für Anwender Git ist ein Verteiltes (Quellcode-)Versionskontrollsystem, dass einfach zu lernen ist... einen kleinen "Fußabdruck"hat... schnell ist... einfaches Branch-Management mit sich bringt... verschiedene Workflows unterstützt... kryptografische Sicherheit für die Versionshistorie bietet Matthias Beyer (HFU) Git 19. November / 113

20 ... für Anwender Git ist ein Verteiltes (Quellcode-)Versionskontrollsystem, dass einfach zu lernen ist... einen kleinen "Fußabdruck"hat... schnell ist... einfaches Branch-Management mit sich bringt... verschiedene Workflows unterstützt... kryptografische Sicherheit für die Versionshistorie bietet Matthias Beyer (HFU) Git 19. November / 113

21 ... für Anwender Git ist ein Verteiltes (Quellcode-)Versionskontrollsystem, dass einfach zu lernen ist... einen kleinen "Fußabdruck"hat... schnell ist... einfaches Branch-Management mit sich bringt... verschiedene Workflows unterstützt... kryptografische Sicherheit für die Versionshistorie bietet Matthias Beyer (HFU) Git 19. November / 113

22 ... für Anwender Git ist ein Verteiltes (Quellcode-)Versionskontrollsystem, dass einfach zu lernen ist... einen kleinen "Fußabdruck"hat... schnell ist... einfaches Branch-Management mit sich bringt... verschiedene Workflows unterstützt... kryptografische Sicherheit für die Versionshistorie bietet Matthias Beyer (HFU) Git 19. November / 113

23 ... für Anwender Git ist ein Verteiltes (Quellcode-)Versionskontrollsystem, dass einfach zu lernen ist... einen kleinen "Fußabdruck"hat... schnell ist... einfaches Branch-Management mit sich bringt... verschiedene Workflows unterstützt... kryptografische Sicherheit für die Versionshistorie bietet Matthias Beyer (HFU) Git 19. November / 113

24 Subsection 3 Was Git nicht ist... Matthias Beyer (HFU) Git 19. November / 113

25 Was Git ist... kein Konkurrent zu Subversion kein Backup Tool kein Dropbox-Ersatz! nicht Netzwerktraffic-Intensiv nicht nur für die Kernel-Entwicklung nicht schwer aufzusetzen / zu benutzen nicht komplex. Matthias Beyer (HFU) Git 19. November / 113

26 Was Git ist... kein Konkurrent zu Subversion kein Backup Tool kein Dropbox-Ersatz! nicht Netzwerktraffic-Intensiv nicht nur für die Kernel-Entwicklung nicht schwer aufzusetzen / zu benutzen nicht komplex. Matthias Beyer (HFU) Git 19. November / 113

27 Was Git ist... kein Konkurrent zu Subversion kein Backup Tool kein Dropbox-Ersatz! nicht Netzwerktraffic-Intensiv nicht nur für die Kernel-Entwicklung nicht schwer aufzusetzen / zu benutzen nicht komplex. Matthias Beyer (HFU) Git 19. November / 113

28 Was Git ist... kein Konkurrent zu Subversion kein Backup Tool kein Dropbox-Ersatz! nicht Netzwerktraffic-Intensiv nicht nur für die Kernel-Entwicklung nicht schwer aufzusetzen / zu benutzen nicht komplex. Matthias Beyer (HFU) Git 19. November / 113

29 Was Git ist... kein Konkurrent zu Subversion kein Backup Tool kein Dropbox-Ersatz! nicht Netzwerktraffic-Intensiv nicht nur für die Kernel-Entwicklung nicht schwer aufzusetzen / zu benutzen nicht komplex. Matthias Beyer (HFU) Git 19. November / 113

30 Was Git ist... kein Konkurrent zu Subversion kein Backup Tool kein Dropbox-Ersatz! nicht Netzwerktraffic-Intensiv nicht nur für die Kernel-Entwicklung nicht schwer aufzusetzen / zu benutzen nicht komplex. Matthias Beyer (HFU) Git 19. November / 113

31 Was Git ist... kein Konkurrent zu Subversion kein Backup Tool kein Dropbox-Ersatz! nicht Netzwerktraffic-Intensiv nicht nur für die Kernel-Entwicklung nicht schwer aufzusetzen / zu benutzen nicht komplex. Matthias Beyer (HFU) Git 19. November / 113

32 Subsection 4 Des weiteren... Matthias Beyer (HFU) Git 19. November / 113

33 Fürs nächste mal... Was nächstes mal benötigt wird: Git installiert (auf Windows mit entsprechender Kommandozeile) Einen Texteditor (Windows: Notepad, *nix: Vim, Vi, geany) cd, ls, mkdir,... (evtl.) einen SSH-Key Matthias Beyer (HFU) Git 19. November / 113

34 Fragen? Wer fragt, ist ein Narr für fünf Minuten. Wer nicht fragt, bleibt ein Narr für immer. 2 2 Aus China Matthias Beyer (HFU) Git 19. November / 113

35 Section 2 Einfache Kommandos Matthias Beyer (HFU) Git 19. November / 113

36 Subsection 1 Konfigurieren und ein Repo erstellen Matthias Beyer (HFU) Git 19. November / 113

37 Git Konfigurieren... Es gilt: Nicht nur stur abtippen! Mitdenken! Listing 1: git config 1 g i t c o n f i g g l o b a l u s e r. name Max Mustermann g i t c o n f i g g l o b a l u s e r. e m a i l t l d 3 g i t c o n f i g g l o b a l c o l o r. u i auto Matthias Beyer (HFU) Git 19. November / 113

38 ... für Windows 1 g i t c o n f i g g l o b a l c o r e. e d i t o r notepad # bzw. kompletten D a t e i p f a d 3 g i t c o n f i g g l o b a l c o r e. a u t o c r l f t r u e Matthias Beyer (HFU) Git 19. November / 113

39 ... für den Pinguin und den Apfel 1 g i t c o n f i g g l o b a l c o r e. e d i t o r geany # oder vi, oder emacs, oder... 3 g i t c o n f i g g l o b a l c o r e. a u t o c r l f i n p u t Matthias Beyer (HFU) Git 19. November / 113

40 Ein repo erstellen 1 mkdir workshop cd workshop 3 g i t i n i t l s 5 l s a Matthias Beyer (HFU) Git 19. November / 113

41 Subsection 2 Den Status abfragen und eine Datei zu git hinzufügen Matthias Beyer (HFU) Git 19. November / 113

42 git status 1 g i t s t a t u s # Auf Branch master 3 # # I n i t i a l e r Commit 5 # n i c h t s zu committen ( E r s t e l l e n / Kopieren S i e Dateien 7 und benutzen S i e g i t add zum Beobachten Matthias Beyer (HFU) Git 19. November / 113

43 git add Mittels add fügt man eine Arbeitskopie dem index hinzu. Noch sind die Änderungen nicht im Repository! 1 echo H a l l o Welt >> e r s t e d a t e i. t x t g i t add e r s t e d a t e i. t x t 3 g i t s t a t u s Matthias Beyer (HFU) Git 19. November / 113

44 git add Git weiß jetzt, dass es die Datei beobachten soll, aber es hat noch keine Änderungen aufgenommen! Matthias Beyer (HFU) Git 19. November / 113

45 git commit Eine Datei Committen heisst so viel wie die Änderungen kommentieren und somit im Repository verfügbar machen. 1 g i t commit e r s t e d a t e i. t x t g i t s t a t u s Matthias Beyer (HFU) Git 19. November / 113

46 Subsection 3 Historie und Änderungen ansehen Matthias Beyer (HFU) Git 19. November / 113

47 git log Die Historie kann man mit g i t l o g ansehen. Man kann dem Log sehr viele Parameter übergeben, ich benutze meist: 1 g i t l o g a l l o n e l i n e graph d e c o r a t e #oder 3 g i t l o g o n e l i n e graph d e c o r a t e <von >... < b i s > Matthias Beyer (HFU) Git 19. November / 113

48 Subsection 4 Wer hat was geschrieben? Matthias Beyer (HFU) Git 19. November / 113

49 git blame Manchmal möchte man herausfinden, welche Zeile in einer Datei von wem wann wieso geändert wurde. 1 g i t blame e r s t e d a t e i. t x t Zeigt aktuell nur einen Autor: 1 g i t blame e r s t e d a t e i. t x t ^8 af25a5 ( Matthias Beyer : 3 1 : ) Matthias Beyer (HFU) Git 19. November / 113

50 Mehr Änderungen An diesem Punkt ist es notwendig noch mehr Änderungen an der Datei vorzunehmen. Schreibe ein paar Zeilen (bitte nicht einfach asdfasdf ) und Commite diese. Möglichst in mehreren Commits! Matthias Beyer (HFU) Git 19. November / 113

51 git show Der HEAD zeigt immer auf das letzte Commit (des aktuellen Branches) g i t show HEAD 2 g i t show HEAD~1 g i t show <commit hash> Seh dir nun bitte das drittletzte Commit an! Matthias Beyer (HFU) Git 19. November / 113

52 git diff Das diff Kommando zeigt den Unterschied zwischen zwei Commits an 1 g i t d i f f <commit hash >... < commit hash> g i t d i f f <commit hash >... 3 g i t d i f f HEAD~ 1...HEAD Zeige bitte den Unterschied zwischen dem drittletzten Commit und dem vorletzten Commit an! Matthias Beyer (HFU) Git 19. November / 113

53 Subsection 5 Änderungen rückgängig machen und zurücksetzen Matthias Beyer (HFU) Git 19. November / 113

54 Änderungen ändern Es gibt zwei Arten, eine Änderung rückgängig zu machen git revert - Invertiert Commits git reset - Löscht Commits Kann sich jemand denken, welche wann eingesetzt wird? Matthias Beyer (HFU) Git 19. November / 113

55 git revert 1 g i t r e v e r t <commit hash> Reverted bitte nun das vorletzte Commit! Matthias Beyer (HFU) Git 19. November / 113

56 git reset 1 g i t r e s e t Setzt nun bitte zurück auf das Commit, bevor wir das Revert angewendet haben! Matthias Beyer (HFU) Git 19. November / 113

57 Subsection 6 Fragen und Antworten Matthias Beyer (HFU) Git 19. November / 113

58 Fragen? Wenn du eine weise Antwort verlangst, mußt du vernünftig fragen. 3 3 Goethe Matthias Beyer (HFU) Git 19. November / 113

59 Section 3 Weitere Basiskommandos Matthias Beyer (HFU) Git 19. November / 113

60 Branching und Merging In diesem Kapitel: Was sind Branches Wie benutze ich Branches Wie binde ich Branches ineinander ein (mergen) Matthias Beyer (HFU) Git 19. November / 113

61 Subsection 1 Entwicklungszweige Matthias Beyer (HFU) Git 19. November / 113

62 Branches sind Zweige Siehe Tafel Matthias Beyer (HFU) Git 19. November / 113

63 Subsection 2 Entwicklungszweige erstellen und benutzen Matthias Beyer (HFU) Git 19. November / 113

64 Branches ansehen/erstellen 1 g i t branch 1 g i t branch n e u e r b r a n c h Merke: Branches sind nur Markierungen für Commits! Erstelle einen neuen Branch neuerbranch auf dem aktuellen Commit. Matthias Beyer (HFU) Git 19. November / 113

65 git checkout Noch sind wir nicht auf dem Branch! 1 g i t checkout n e u e r b r a n c h Mit git checkout lassen sich übrigens auch Commits auschecken! Erstelle einen Branch andererbranch auf dem vorletzten Commit! (Erinnerung: git log) Gehe danach zurück auf den Branch, den du auf dem master-branch erstellt hast! Matthias Beyer (HFU) Git 19. November / 113

66 Subsubsection 1 Entwicklungszweige zusammenführen Matthias Beyer (HFU) Git 19. November / 113

67 Mergen ohne Konflikte (1) Erstelle nun ein paar Commits auf deinem neuen Branch. Matthias Beyer (HFU) Git 19. November / 113

68 Mergen ohne Konflikte (2) 1 g i t checkout master g i t merge n e u e r b r a n c h Matthias Beyer (HFU) Git 19. November / 113

69 Mergen ohne Konflikte (3) Erkläre, was passiert ist. Du kannst dir gerne den Log ansehen: g i t l o g a l l d e c o r a t e graph o n e l i n e Kannst du dir denken, warum das so schnell ging? Matthias Beyer (HFU) Git 19. November / 113

70 Mergen mit Konflikten (1) Was passiert, wenn wir Zeilen ändern, die auf einem anderen Branch schon geändert wurden - nur anders? Konflikte entstehen! Matthias Beyer (HFU) Git 19. November / 113

71 Mergen mit Konflikten (2) Erzeuge einen Konflikt: 1 g i t checkout master <M o d i f i z i e r e d e i n e Dateien > 3 g i t commit <d a t e i > g i t checkout a n d e r e r b r a n c h 5 <M o d i f i z i e r e d e i n e Dateien > g i t commit <d a t e i > Matthias Beyer (HFU) Git 19. November / 113

72 Mergen mit Konflikten (3) Merge nun diesen Branch ( andererbranch ) in den Master: g i t checkout master 2 g i t merge a n d e r e r b r a n c h # a u t o m a t i s c h e r Merge von h a l l o w e l t. t x t 4 # KONFLIKT ( I n h a l t ) : Merge K o n f l i k t i n h a l l o w e l t. t x t # A u t o m atischer Merge f e h l g e s c h l a g e n ; beheben S i e d i e 6 # dann das E r g e b n i s. Es sollte beim Mergen nun ein Fehler geworfen werden! Der Merge ist jetzt noch nicht fertig, und Konflikte müssen von Hand gelöst werden! Matthias Beyer (HFU) Git 19. November / 113

73 Mergen mit Konflikten (4) Jetzt muss der Merge Konflikt aufgelöst werden. Git hat jetzt die entsprechende Datei bearbeitet: <<<<<<< HEAD 2 H a l l o Kurs! ======= 4 H a l l o Welt! >>>>>>> a n d e r e r b r a n c h Matthias Beyer (HFU) Git 19. November / 113

74 Mergen mit Konflikten (5) Wir müssen also etwas in Ordnung bringen: 1 H a l l o Kurs! Matthias Beyer (HFU) Git 19. November / 113

75 Mergen mit Konflikten (6) Und das Ergebnis hinzufügen: 1 g i t add h a l l o w e l t. t x t g i t commit Git schlägt uns jetzt eine Commit Message vor, die wir so übernehmen können. Matthias Beyer (HFU) Git 19. November / 113

76 Mergen mit Konflikten (7) Wenn wir jetzt den Log ansehen, sehen wir dass die Commits gemerged wurden: g i t l o g o n e l i n e graph d e c o r a t e a l l Matthias Beyer (HFU) Git 19. November / 113

77 Subsubsection 2 Git die arbeit machen lassen Matthias Beyer (HFU) Git 19. November / 113

78 Automatisches Mergen (1) Git kann verschiedene Merge-Strategien anwenden: strategy recursive -X theirs strategy recursive -X ours strategy octopus Matthias Beyer (HFU) Git 19. November / 113

79 Automatisches Mergen (2) Ausserdem kann git verschiedene Optionen zum Mergen anwenden: ff-only no-ff edit (eigentlich eine Option zum committen) Matthias Beyer (HFU) Git 19. November / 113

80 Fragen? Es gibt keine dummen Fragen, nur dumme Antworten! 4 4 Irgendjemand Matthias Beyer (HFU) Git 19. November / 113

81 Section 4 Weitere Basiskommandos Matthias Beyer (HFU) Git 19. November / 113

82 Mit einem Remote arbeiten, Tagging, Rebasing und interaktives Rebasing Remotes anlegen und abholen Remotes updaten Releases taggen Branches umpflanzen Interaktives rebasing Bisecting Matthias Beyer (HFU) Git 19. November / 113

83 Subsection 1 Mit (einem) Server arbeiten Matthias Beyer (HFU) Git 19. November / 113

84 Einen Remote Server anlegen (1) github.com git.informatik.hs-furtwangen.de Eigene git-server (später mehr) Matthias Beyer (HFU) Git 19. November / 113

85 Einen Remote Server anlegen (2) 1 g i t remote add <name> <u r l > 1 g i t remote add meinremote g i g i t h u b. com : m a t t h i a s b e y e r / hfu g i t w o r k s h o p. g i t Matthias Beyer (HFU) Git 19. November / 113

86 Einen Remote Server anlegen (3) fetch pull push Matthias Beyer (HFU) Git 19. November / 113

87 Einen Remote Server anlegen (4) - Fetch Mit g i t f e t c h meinremote holt man Commits vom Server ab. Matthias Beyer (HFU) Git 19. November / 113

88 Einen Remote Server anlegen (5) - Pull 1 g i t p u l l meinremote <branch> Matthias Beyer (HFU) Git 19. November / 113

89 Einen Remote Server anlegen (6) - Push 1 g i t push meinremote meinbranch Natürlich nur, wenn man Schreibrechte hat! Matthias Beyer (HFU) Git 19. November / 113

90 Einen Remote Server anlegen (7) Gut zu wissen: Remote gibt es auch Branches Diese sind jetzt lokal verfügbar behandelbar wie normale Branches Matthias Beyer (HFU) Git 19. November / 113

91 Section 5 Fortgeschrittene Kommandos Matthias Beyer (HFU) Git 19. November / 113

92 git rebase und git bisect Diese Kapitel behandelt fortgeschrittenere Kommandos: git rebase git bisect Matthias Beyer (HFU) Git 19. November / 113

93 Subsection 1 Entwicklunszweige umpflanzen Matthias Beyer (HFU) Git 19. November / 113

94 Branches umpflanzen (1) Anwendungsfall: Features auf einer neuen Version basieren lassen. Matthias Beyer (HFU) Git 19. November / 113

95 Branches umpflanzen (2) 1 g i t r e b a s e <worauf> Matthias Beyer (HFU) Git 19. November / 113

96 Branches umpflanzen (3) Aufgabe: Erstelle einen neuen Branch auf einem älteren Commit. Schreibe Mindestens zwei Commits und pflanze diesen Branch auf den neusten Master um. Matthias Beyer (HFU) Git 19. November / 113

97 Subsection 2 Entwicklunszweige interaktiv umpflanzen Matthias Beyer (HFU) Git 19. November / 113

98 Interaktives umpflanzen (1) Interaktives umpflanzen heisst: Commits neu anordnen Commits splitten Commits zusammenführen Commits löschen Commits ändern Matthias Beyer (HFU) Git 19. November / 113

99 Interaktives umpflanzen (1) Interaktives umpflanzen heisst: Commits neu anordnen Commits splitten Commits zusammenführen Commits löschen Commits ändern Matthias Beyer (HFU) Git 19. November / 113

100 Interaktives umpflanzen (1) Interaktives umpflanzen heisst: Commits neu anordnen Commits splitten Commits zusammenführen Commits löschen Commits ändern Matthias Beyer (HFU) Git 19. November / 113

101 Interaktives umpflanzen (1) Interaktives umpflanzen heisst: Commits neu anordnen Commits splitten Commits zusammenführen Commits löschen Commits ändern Matthias Beyer (HFU) Git 19. November / 113

102 Interaktives umpflanzen (1) Interaktives umpflanzen heisst: Commits neu anordnen Commits splitten Commits zusammenführen Commits löschen Commits ändern Matthias Beyer (HFU) Git 19. November / 113

103 Interaktives umpflanzen (2) 1 g i t r e b a s e i <worauf> Kann auch sein: 1 g i t r e b a s e i HEAD~5 Matthias Beyer (HFU) Git 19. November / 113

104 Interaktives umpflanzen (2) Optionen für interaktives rebasing: edit fixup squash reword Matthias Beyer (HFU) Git 19. November / 113

105 Interaktives umpflanzen (3) Aufgabe: Schreibe einen Branch mit mindestens drei Commits. Squashe davon zwei ineinander und schreibe die Commit-Message vom dritten um. Matthias Beyer (HFU) Git 19. November / 113

106 Subsection 3 Automatisiertes Fehlersuchen Matthias Beyer (HFU) Git 19. November / 113

107 Fehler suchen mit git bisect (1) Mittels git bisect kann man: Commits mit Binärsuche durchlaufen Fehler finden Matthias Beyer (HFU) Git 19. November / 113

108 Fehler suchen mit git bisect (2) 1 g i t checkout HEAD~5 g i t b i s e c t s t a r t 3 g i t b i s e c t good g i t checkout master 5 g i t b i s e c t bad Matthias Beyer (HFU) Git 19. November / 113

109 Fragen? Über Fragen, die ich nicht beantworten kann, zerbreche ich mir nicht den Kopf. 5 5 Konrad v. Zuse Matthias Beyer (HFU) Git 19. November / 113

110 Section 6 Wissenswertes Matthias Beyer (HFU) Git 19. November / 113

111 Wissenswertes über git Bash, Vim, GUIs Workflows Sonstiges Matthias Beyer (HFU) Git 19. November / 113

112 Subsection 1 Git in die Umgebung integrieren Matthias Beyer (HFU) Git 19. November / 113

113 Editoren Plugins für... Vim Eclipse Kate Sublime Text 2 NetBeans Emacs... Matthias Beyer (HFU) Git 19. November / 113

114 Oberflächen gitk oder gitx tig giggle git-cola TortoiseGit... Matthias Beyer (HFU) Git 19. November / 113

115 Programmiersprachen Interfaces zu git sind verfügbar für: C Perl Python Ruby Java PHP Haskell... Matthias Beyer (HFU) Git 19. November / 113

116 Subsection 2 Workflows Matthias Beyer (HFU) Git 19. November / 113

117 No-Gos Absolute No-Gos: Tags verschieben Veröffentlichte Commits ändern: rebase (normal und interaktiv) branches löschen force push Matthias Beyer (HFU) Git 19. November / 113

118 No-Gos Absolute No-Gos: Tags verschieben Veröffentlichte Commits ändern: rebase (normal und interaktiv) branches löschen force push Matthias Beyer (HFU) Git 19. November / 113

119 No-Gos Absolute No-Gos: Tags verschieben Veröffentlichte Commits ändern: rebase (normal und interaktiv) branches löschen force push Matthias Beyer (HFU) Git 19. November / 113

120 No-Gos Absolute No-Gos: Tags verschieben Veröffentlichte Commits ändern: rebase (normal und interaktiv) branches löschen force push Matthias Beyer (HFU) Git 19. November / 113

121 Workflows Es gibt verschiedene Workflows: Zentralisiert Feature Branching Gitflow Forking Matthias Beyer (HFU) Git 19. November / 113

122 Workflows - Zentralisiert Gleich wie Subversion Ein remote Repository Matthias Beyer (HFU) Git 19. November / 113

123 Workflows - Feature Branching Jedes Feature in einem eigenen Branch Jeder Fix in einem eigenen Branch Matthias Beyer (HFU) Git 19. November / 113

124 Workflows - Gitflow Ein Release-Branch Ein Develop-Branch Einfach kombinierbar mit Feature Branching Matthias Beyer (HFU) Git 19. November / 113

125 Workflows - Forking Jeder Entwickler hat ein remote Repository Jeder forkt von jedem, wenn gewollt Matthias Beyer (HFU) Git 19. November / 113

126 Subsection 3 Sonstiges Matthias Beyer (HFU) Git 19. November / 113

127 Was es sonst noch so gibt Commits per versenden Commits mit PGP/GPG unterschreiben Repositories teilen/zusammenführen git server gitphp cgit gitorious gitlab gitweb Matthias Beyer (HFU) Git 19. November / 113

128 Nachschlagewerke Besonders zu Empfehlen: book.git-scm.com de.gitready.com Und natürlich: manpages google Matthias Beyer (HFU) Git 19. November / 113

129 Fragen? Ob ein Mensch klug ist, erkennt man an seinen Antworten. Ob ein Mensch weise ist, erkennt man an seinen Fragen. 6 6 Nagib Machfus Matthias Beyer (HFU) Git 19. November / 113

130 Bei späteren Fragen github.com/matthiasbeyer Anquatschen Matthias Beyer (HFU) Git 19. November / 113

131 The End Wenn es keine Fragen mehr gibt... ist dass das Ende. Matthias Beyer (HFU) Git 19. November / 113

Linux Cafe 2013 11 11. Referent: Bernd Strößenreuther

Linux Cafe 2013 11 11. Referent: Bernd Strößenreuther Versionsverwaltung mit Git Linux Cafe 2013 11 11 Referent: Bernd Strößenreuther mailto:linux cafe@stroessenreuther.net Lizenz Sie dürfen dieses Dokument verwenden unter den Bedingungen der Creative Commons

Mehr

Praktikum Ingenieurinformatik (PI)

Praktikum Ingenieurinformatik (PI) Praktikum Ingenieurinformatik (PI) Verteilte Versionskontrolle mit Git und Github Björn Meyer Fachgebiet Technische Informatik 1 Agenda Einleitung Motivation Versionskontrolle Ansätze Git Funktionen Arbeiten

Mehr

Von SVN zu Git. Daniel Willmann 2011-10-18 cbna

Von SVN zu Git. Daniel Willmann <daniel@totalueberwachung.de> 2011-10-18 cbna Von SVN zu Git Daniel Willmann 2011-10-18 cbna Inhalt Einführung Git für SVN Benutzer Weitergehende Konzepte Zusammenfassung Daniel Willmann Von SVN zu Git 2 Über den Vortragenden

Mehr

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31

git & git-flow Jens Sandmann 14.12.2013 Warpzone Münster e.v. Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 git & git-flow Jens Sandmann Warpzone Münster e.v. 14.12.2013 Jens Sandmann (WZ) git & git-flow 14.12.2013 1 / 31 Überblick 1 git Versionskontrolle Allgemein VCS mit git 2 git flow 3 git nutzen 4 Anhang

Mehr

Dezentrale Versionsverwaltung

Dezentrale Versionsverwaltung Dezentrale Versionsverwaltung mit GIT with that guy 14.08.2012 Lars Kumbier 1 Versionsverwaltung? 14.08.2012 Lars Kumbier 2 Versionsverwaltung? Speichern unterschiedlicher Entwicklungsschritte (oder Versionen)

Mehr

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git

Einführung in Verteilte Versionskontrollsysteme. am Beispiel von Git Einführung in Verteilte Versionskontrollsysteme am Beispiel von Git Diplominformatiker (BA), Git Benutzer seit 2009 Daniel Böhmer Leibniz Institut für Troposphärenforschung 8. März 2012 Verteilte Versionskontrollsysteme/Git

Mehr

Versionsverwaltung für die KU Betriebssysteme. Eine Einführung

Versionsverwaltung für die KU Betriebssysteme. Eine Einführung Versionsverwaltung für die KU Betriebssysteme Eine Einführung 1 1 Versionsverwaltung? Wozu? Nachvollziehbarkeit Wer hat was wann geändert Wiederherstellbarkeit kaputteditiert Wartbarkeit Verschiedene Versionen

Mehr

Spiel, Spaß und Spannung mit Git

Spiel, Spaß und Spannung mit Git Spiel, Spaß und Spannung mit Git 2-3 Std-Workshop Meine Person??? Spiel, Spaß und Spannung mit Git 2 Ziel Du kannst Git auf einem Windows- oder Linux- Rechner installieren und konfigurieren Du kennst die

Mehr

git Änderungen verwalten mit git

git Änderungen verwalten mit git Änderungen verwalten mit git Wie arbeitet man am besten an einem Protokoll zusammen? PeP et al. Toolbox, 2014 2 Idee: Austausch über Mails PeP et al. Toolbox, 2014 3 Mails: Probleme Risiko, dass Änderungen

Mehr

Git - Fast Version Control System

Git - Fast Version Control System Git - Fast Version Control System Sebastian Harl Astronomisches Institut der Universität Erlangen-Nürnberg 17. Oktober 2008 Was ist Git? VCS (Version Control

Mehr

Verteile Revisionskontrolle mit GIT

Verteile Revisionskontrolle mit GIT Verteile Revisionskontrolle mit GIT Christian Thäter ct@pipapo.org 25. Juni 2007 Über diesen Vortrag 1. Was ist Revisionskontrolle? 2. Wie funktioniert GIT? 3. GIT Workshop Fragen werden nach jedem Abschnitt

Mehr

Versionsverwaltung von Softwareartefakten. 21. Oktober 2014

Versionsverwaltung von Softwareartefakten. 21. Oktober 2014 Versionsverwaltung von Softwareartefakten 21. Oktober 2014 Überblick Wie verwaltet man Softwareartefakte? Versionskontrolle für verschiedene Softwareartefakte: Anforderungsdokumente, Modelle, Code, Testdateien,

Mehr

Einführung in Git. Dirk Deimeke. 19. August 2013. My own IT. ddeimeke (My own IT) Einführung in Git 19. August 2013 1 / 23

Einführung in Git. Dirk Deimeke. 19. August 2013. My own IT. ddeimeke (My own IT) Einführung in Git 19. August 2013 1 / 23 Einführung in Git Dirk Deimeke My own IT 19. August 2013 ddeimeke (My own IT) Einführung in Git 19. August 2013 1 / 23 Inhalt 1 Etwas Theorie Basiswissen Git 2 Praxis Installation Erstes Repository Besonderheiten

Mehr

Einführung in git. Johannes Gilger & Matthias Lederhofer. Rechen- und Kommunikationszentrum der RWTH Aachen Network Operation Center. 14.

Einführung in git. Johannes Gilger & Matthias Lederhofer. Rechen- und Kommunikationszentrum der RWTH Aachen Network Operation Center. 14. Johannes Gilger & Matthias Lederhofer der RWTH Aachen Network Operation Center 14. Juli 2010 Übersicht Begriffe in der Versionsverwaltung Unterschiede zentrale und dezentrale VCS Warum man git benutzen

Mehr

WOZU VERSIONSKONTROLLE?

WOZU VERSIONSKONTROLLE? GIT AGENDA DES WORKSHOPS WOZU VERSIONSKONTROLLE? GIT GESCHICHTE GIT VERSTEHEN GIT INSTALLIEREN/KONFIGURIEREN BRANCHING/MERGING EXTERNE REPOSITORIES MIT GIT ARBEITEN VERBINDUNG ZUM EXTERNEN REPO AGENDA

Mehr

Versionierung und Bugtracking mit Git(Hub)

Versionierung und Bugtracking mit Git(Hub) Semesterprojekt Verteilte Echtzeitrecherche in Genomdaten Versionierung und Bugtracking mit Git(Hub) Marc Bux (bux@informatik.hu-berlin.de) Ziele der Versionierung Revisionsgeschichte eines Projekts erhalten

Mehr

Git II. Dezentrale Versionsverwaltung im Team

Git II. Dezentrale Versionsverwaltung im Team Git II Dezentrale Versionsverwaltung im Team Themenbereiche Arbeit mit Remote Repositories Austausch zwischen Repositories Änderungen rückgängig machen Zusammenarbeit über Workflows Git hat mehr als nur

Mehr

Apache Subversion (SVN)

Apache Subversion (SVN) Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 18.10.2013 Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 18.10.2013 git Datamining

Mehr

git Alexander Bernauer Rico Schiekel

git Alexander Bernauer <alex@copton.net> Rico Schiekel <fire@downgra.de> git Alexander Bernauer Rico Schiekel Big Picture Beispiel Open-Source-Projekt öffentliches Repository öffentlicher Fork push fetch push Haupt- Entwickler fetch Contributer

Mehr

Versionskontrolle mit Apache Subversion

Versionskontrolle mit Apache Subversion Versionskontrolle mit Apache Subversion Dr.-Ing. Mathias Magdowski Lehrstuhl für Elektromagnetische Verträglichkeit Institut für Medizintechnik Otto-von-Guericke-Universität, Magdeburg 3. Juni 2015 Versionskontrolle

Mehr

Gitting started. Christian Neukirchen. 14dec2011

Gitting started. Christian Neukirchen. 14dec2011 Gitting started Christian Neukirchen 14dec2011 Wieso Versionskontrolle? Erste Schritte Branches Zusammenarbeit Nicht-trivale Features GUI Ausblick Agenda Wieso Versionskontrolle? Den Verlauf eines Projekts

Mehr

Having fun with GIT. Chris Wewerka. Software Development Specialist

Having fun with GIT. Chris Wewerka. Software Development Specialist Having fun with GIT Chris Wewerka Software Development Specialist chris@ twitter.com/longliveenduro plus.google.com/s/chris wewerka GIT Agenda Verteilte Versionskontrollen - Facts Git Crashkurs Git und

Mehr

Die Projek*ools. Files, Git, Tickets & Time

Die Projek*ools. Files, Git, Tickets & Time Die Projek*ools Files, Git, Tickets & Time Agenda Die Abgabe von Dokumenten: Files Das Pflegen von Software: Versionskontrolle mit Git Management von Anforderungen: Tickets Management von Zeit: Time Files

Mehr

Git-Workflows im Alltag

Git-Workflows im Alltag Git-Workflows im Alltag Valentin Haenel Freelance Consultant and Software Developer http://haenel.co @esc 2015-03-21 @ CLT Version: v0.3.0 https://github.com/esc/clt-2015-git-workflows This work is licensed

Mehr

Versionsverwaltung mit git. Christoph Knabe FB VI 17.04.2014

Versionsverwaltung mit git. Christoph Knabe FB VI 17.04.2014 Versionsverwaltung mit git Christoph Knabe FB VI 17.04.2014 Inhalt Probleme bei Software-Entwicklung Begriffe in git Geschichte von git Installation Was ist verteilt an git? Mischen verteilter Änderungen

Mehr

Dr. R. Guderlei exxcellent solutions gmbh Tim Felgentreff HPI. Versionsmanagement. Zentral oder Verteilt?

Dr. R. Guderlei exxcellent solutions gmbh Tim Felgentreff HPI. Versionsmanagement. Zentral oder Verteilt? Dr. R. Guderlei exxcellent solutions gmbh Tim Felgentreff HPI Versionsmanagement Zentral oder Verteilt? Agenda Verteilte Versionsverwaltung mit Git Git in der Praxis Fazit Grundlegendes Verteilung: kein

Mehr

Programmieren 2 06 Git-Teamwork und Egit

Programmieren 2 06 Git-Teamwork und Egit Programmieren 2 06 Git-Teamwork und Egit Bachelor Medieninformatik Sommersemester 2015 Dipl.-Inform. Ilse Schmiedecke schmiedecke@beuth-hochschule.de 1 Die Bildquelle Die schönen Schemazeichnungen in dieser

Mehr

Subversion als Werkzeug in der Software-Entwicklung Eine Einführung. Tobias G. Pfeiffer Freie Universität Berlin

Subversion als Werkzeug in der Software-Entwicklung Eine Einführung. Tobias G. Pfeiffer Freie Universität Berlin Subversion als Werkzeug in der Software-Entwicklung Eine Einführung Tobias G. Pfeiffer Freie Universität Berlin Seminar DG-Verfahren, 9. Juni 2009 Voraussetzungen/Ziele des Vortrags Situation Der Zuhörer

Mehr

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn michael.kuhn@informatik.uni-hamburg.de

Einführung Git Interna Workflows Referenzen. Git. Fast Version Control System. Michael Kuhn michael.kuhn@informatik.uni-hamburg.de Git Fast Version Control System Michael Kuhn michael.kuhn@informatik.uni-hamburg.de Arbeitsbereich Wissenschaftliches Rechnen Fachbereich Informatik Universität Hamburg 2011-09-28 1 / 16 1 Einführung Überblick

Mehr

Verteilte Versionskontrolle mit GIT. 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln

Verteilte Versionskontrolle mit GIT. 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln Verteilte Versionskontrolle mit GIT 17.04.2012 - Dortmund Ansgar Brauner - GreenPocket GmbH - Köln 1 über mich 32 Jahre alt Softwareentwickler bei der Firma GreenPocket in Köln Java EE Entwickler und Rails

Mehr

Apache Subversion (SVN)

Apache Subversion (SVN) Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 19.10.2012 Apache Subversion (SVN) Datamining und Sequenzanalyse Marvin Meusel, Sascha Winter 19.10.2012 git Datamining

Mehr

Git. Dezentrale Versionsverwaltung im Team Grundlagen und Workflows. Rene Preißel Björn Stachmann. 2., aktualisierte und erweiterte Auflage

Git. Dezentrale Versionsverwaltung im Team Grundlagen und Workflows. Rene Preißel Björn Stachmann. 2., aktualisierte und erweiterte Auflage Rene Preißel Björn Stachmann Git / Dezentrale Versionsverwaltung im Team Grundlagen und Workflows 2., aktualisierte und erweiterte Auflage fäjj dpunkt.verlag XV Erste Schritte 1 Grundlegende Konzepte 1

Mehr

Seminar. Bachelor Wirtschaftsinformatik

Seminar. Bachelor Wirtschaftsinformatik Seminar Bachelor Wirtschaftsinformatik Generalthema: Aktuelle Technologien zur Entwicklung verteilter Java-Anwendungen Versionierung von Java-Anwendungen mit Git Christian Ondreka Versionsverwaltung mit

Mehr

Julius Plenz. Valentin Haenel. Git. Verteilte Versionsverwaltung für Code Dokumente. 2. Auflage. Open Source Press

Julius Plenz. Valentin Haenel. Git. Verteilte Versionsverwaltung für Code Dokumente. 2. Auflage. Open Source Press Valentin Haenel Julius Plenz Git Verteilte Versionsverwaltung für Code Dokumente 2. Auflage Open Source Press Inhaltsverzeichnis Vorwort 11 I Grundlagen 17 1 Einführung und erste Schritte 19 1.1 Grundbegriffe

Mehr

eclipse - EGit HowTo

eclipse - EGit HowTo eclipse - EGit HowTo An der HSR steht den Studierenden ein git Server für die Versionskontrolle zur Verfügung. Dieses HowTo fasst die notwendigen Informationen zur Verwendung dieses Dienstes in Verwendung

Mehr

Einstieg in Git. Lukáš Kubánek 19.10.2011

Einstieg in Git. Lukáš Kubánek 19.10.2011 Lukáš Kubánek 19.10.2011 1 EINFÜHRUNG EINFÜHRUNG Was ist Git? EINFÜHRUNG Intention der Entwicklung Me personally, I want to have something that is very repeatable and non-clever. Something I understand

Mehr

Versionskontrolle. Vortrag im Master-Praktikum MindStreams Sommersemester 2013. Michael Fiedler 30.

Versionskontrolle. Vortrag im Master-Praktikum MindStreams Sommersemester 2013. Michael Fiedler <michael.fiedler@fau.de> 30. Versionskontrolle Vortrag im Master-Praktikum MindStreams Sommersemester 2013 Michael Fiedler 30. April 2013 1 / 33 Überblick 1 Versionskontrolle 2 Git 3 GitFlow 4 Zusammenfassung

Mehr

Konfigurationsdateien mit Git verwalten

Konfigurationsdateien mit Git verwalten Konfigurationsdateien mit Git verwalten Chemnitzer Linuxtage 2011 Julius Plenz 19. März 2011 Veröffentlicht unter der CreativeCommons-Lizenz (By, Nc, Sa) http://chemnitzer.linux-tage.de/2011/vortraege/782

Mehr

31.01.2013. Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle

31.01.2013. Vorlesung Programmieren. Versionskontrollsysteme. Ziele von VCS. Versionskontrolle Vorlesung Programmieren Versionskontrolle Dr. Dennis Pfisterer Institut für Telematik, Universität zu Lübeck http://www.itm.uni-luebeck.de/people/pfisterer Versionskontrollsysteme Wie organisiert man die

Mehr

Moodle aktuell halten mit Git

Moodle aktuell halten mit Git Moodle aktuell halten mit Git 3a 1 2 3b 3c 4c Vorstellung Andreas Grabs Softwareentwickler Seit 2010 Moodle Core- Entwickler Freier Mitarbeiter eledia GmbH Inhalt Allgemeines Allgmeine Vorteile Vorteile

Mehr

Git-Workshop, Teil I

Git-Workshop, Teil I Git-Workshop, Teil I Freitagsrunde TechTalks, TU Berlin Julius Plenz 25. November 2011 Veröffentlicht unter der CreativeCommons-Lizenz (By, Nc, Sa) http://wiki.freitagsrunde.org/techtalks Bevor wir beginnen...

Mehr

Git Workshop. LiWoLi 2012. Florian Preinstorfer. Wolfgang Silbermayr 25.05.2012. http://silwol.net. http://nblock.org

Git Workshop. LiWoLi 2012. Florian Preinstorfer. Wolfgang Silbermayr 25.05.2012. http://silwol.net. http://nblock.org Git Workshop LiWoLi 2012 Florian Preinstorfer http://nblock.org Wolfgang Silbermayr http://silwol.net 25.05.2012 This work is licensed under the Creative Commons Attribution-ShareAlike 3.0 Austria license

Mehr

Torsten Flatter inovex GmbH. "Git.NET" gibt's nicht?

Torsten Flatter inovex GmbH. Git.NET gibt's nicht? Torsten Flatter inovex GmbH "Git.NET" gibt's nicht? Vorstellung Torsten Flatter inovex GmbH.NET / C# seit 2004 VSS, CVS, SVN, TFS, hq, git Enterprise-Umfeld Agenda Überblick Grundlagen Einsatzbereiche

Mehr

Git eine kurze Einführung

Git eine kurze Einführung Git eine kurze Einführung Malte Schmitz ~ Mai 2012 1 Ziele dieses Vortrags 1. Git installieren und einrichten können. 2. Idee von verteilter Versionskontrolle verstehen. 3. Idee der nichtlinearen Entwicklung

Mehr

Seminararbeit im Studiengang Allgemeine Informatik. Git. Referent : Fabian Berner M.Sc. Vorgelegt am : 26.04.2013

Seminararbeit im Studiengang Allgemeine Informatik. Git. Referent : Fabian Berner M.Sc. Vorgelegt am : 26.04.2013 Seminararbeit im Studiengang Allgemeine Informatik Git Einführung in die Befehle des verteilten Versionsverwaltungssystems Git Referent : Fabian Berner M.Sc Koreferent : - Vorgelegt am : 26.04.2013 Vorgelegt

Mehr

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen

Einführung in git. Ben Oswald. 27. April 2014. Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Einführung in git Im Rahmen der Vorlesung Entwicklung mobiler Anwendungen Ben Oswald 27. April 2014 Inhaltsverzeichnis 1 Einleitung 1 1.1 Was ist git?..................................... 1 1.2 Warum sollten

Mehr

an Hand eines Beispiels Konsole

an Hand eines Beispiels Konsole Versionskontrolle an Hand eines Beispiels Konsole 1 / 14 PAUL SCHEREMET Inhaltsverzeichnis Einleitung 3 Das Repository anlegen (init) 4 Das erste Modul importieren (import) 5 Module auschecken (checkout

Mehr

Eine Einführung in das verteilte Quelltextverwaltungssystem Git

Eine Einführung in das verteilte Quelltextverwaltungssystem Git Eine Einführung in das verteilte Quelltextverwaltungssystem Git B.Sc. Daniel Baulig Fachhochschule Frankfurt am Main University of Applied Sciences 2. November 2012 Übersicht 1 Einführung Über mich Versions-was?

Mehr

Verteilte Versionsverwaltung mit Git

Verteilte Versionsverwaltung mit Git 25012012 Vorlesung Softwareentwicklung in der industriellen Praxis Technische Universität Dresden Fakultät Informatik Einleitung Einleitung Über den Vortragenden Über den Vortragenden Communardo Software

Mehr

Medieninformatik Praktikum. Jens Rademacher 14.07.2013

Medieninformatik Praktikum. Jens Rademacher 14.07.2013 mit mit Medieninformatik Praktikum 14.07.2013 1 / 13 mit 2 / 13 Nutzen von und an en mit Verwaltung unterschiedlicher Versionen einer Datei Protokollierung von Änderungen (Änderung, Zeitpunkt, Person)

Mehr

Versionsverwaltung von Softwareartefakten. Dr. Thorsten Arendt Marburg, 06. November 2014

Versionsverwaltung von Softwareartefakten. Dr. Thorsten Arendt Marburg, 06. November 2014 Versionsverwaltung von Softwareartefakten Dr. Thorsten Arendt Marburg, 06. November 2014 Überblick Warum ist die Versionsverwaltung von Softwareartefakten wichtig? Wie verwaltet man Softwareartefakte?

Mehr

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS 2012. Lehrstuhl i9, Prof. Dr. T.

Versionsverwaltung GIT & SVN. Alexander aus der Fünten. Proseminar: Methoden und Werkzeuge, SS 2012. Lehrstuhl i9, Prof. Dr. T. Versionsverwaltung GIT & SVN Alexander aus der Fünten Proseminar: Methoden und Werkzeuge, SS 2012 Lehrstuhl i9, Prof. Dr. T. Seidl RWTH Aachen Ablauf Was ist Versionsverwaltung? Arbeitsmodelle Lokale,

Mehr

Erfolgreicher Ums9eg auf Git

Erfolgreicher Ums9eg auf Git CONCEPT PEOPLE IT- TALK Ein Erfahrungsbericht Erfolgreicher Ums9eg auf Git René Preißel (etosquare) Nils Hartmann (Techniker Krankenkasse) VORSTELLUNG René Preißel Freiberuflicher SoGwarearchitekt, Entwickler

Mehr

Versionkontrolle mit git

Versionkontrolle mit git Versionkontrolle mit git Wer bin ich? Wer bin ich? Federico Hernandez Wer bin ich? Darmstadt Wer bin ich? Göteborg, Schweden Wer bin ich? Mathematiker Wer bin ich? Senior Linux/Unix System Administrator

Mehr

Git in großen Projekten

Git in großen Projekten Git in großen Projekten Einsatz von Submodulen und Subtrees René Preißel (rp@etosquare.de) Buchhandlung Lehmanns, 16.10.2013 1 Über Mich René Preißel (rp@etosquare.de) Freiberuflicher Berater, Entwickler,

Mehr

Git eine kurze Einführung. Malte Schmitz ~ Mai 2012

Git eine kurze Einführung. Malte Schmitz ~ Mai 2012 eine kurze Einführung ~ Mai 2012 Ziele dieses Vortrags 1. installieren und einrichten können. 2. Idee von verteilter Versionskontrolle verstehen. 3. Idee der nichtlinearen Entwicklung verstehen. 4. Mit

Mehr

Klicken Sie, um das Format des Titeltextes zu bearbeiten

Klicken Sie, um das Format des Titeltextes zu bearbeiten Klicken Sie, um das Format des Titeltextes zu bearbeiten Versionsverwaltung mit SVN Eike Slogsnat 18.01.2013 1 Gliederung Wichtige Linux-Befehle Aufgaben einer Versionsverwaltung Struktur Befehle Verzweigungen

Mehr

Überblick. Verlässliche Echtzeitsysteme. Annahmen. Die Programmiersprache C. Auch heute noch viel sicherheitskritische Software in C

Überblick. Verlässliche Echtzeitsysteme. Annahmen. Die Programmiersprache C. Auch heute noch viel sicherheitskritische Software in C Überblick Verlässliche Echtzeitsysteme Übungen zur Vorlesung Florian Franzmann, Martin Hoffmann, Tobias Klaus 1 C-Quiz Teil I Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte

Mehr

FS 2013. cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer

FS 2013. cs108 Programmierpraktikum Subversion. Lukas Beck Cedric Geissmann Alexander Stiemer cs108 Programmierpraktikum Subversion Lukas Beck Cedric Geissmann Alexander Stiemer Probleme in der SW-Entwicklung Teamarbeit Gemeinsamer (und gleichzeitiger) Zugriff auf Ressourcen Dateiserver Datenverlust

Mehr

Vorwort. Warum Git? vii

Vorwort. Warum Git? vii vii Warum Git? Git hat eine rasante Erfolgsgeschichte hinter sich. Im April 2005 begann Linus Torvalds, Git zu implementieren, weil er keinen Gefallen an den damals verfügbaren Open-Source-Versionsverwaltungen

Mehr

SVN-Einführung für das SEP DS und CM. Julian Timpner, Stefan Brenner, Stephan Rottmann

SVN-Einführung für das SEP DS und CM. Julian Timpner, Stefan Brenner, Stephan Rottmann SVN-Einführung für das SEP DS und CM Julian Timpner, Stefan Brenner, Stephan Rottmann 23. April 2014 Subversion (SVN) - Allgemeines Versionsverwaltung für Dokumente Primär für reine Textdateien (*.txt,

Mehr

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme

Lehrstuhl für Datenverarbeitung. Technische Universität München. Grundkurs C++ Buildsysteme Grundkurs C++ Buildsysteme Buildsysteme Beispielhaftes Übersetzungsszenario: Verzeichnis tutorial7/ main.cpp, lcdrange.cpp, lcdrange.h *.cpp Kompilieren *.o *.h Grundkurs C++ 2 Headerdateien //blackbox.h

Mehr

Versionskontrollsysteme

Versionskontrollsysteme Versionskontrollsysteme Erfassung von Änderungen an Dateien Protokollierung von Änderungen Wiederherstellung alter Zustände Archivierung der gesamten Historie Koordinierung des gemeinsamen Zugriffs Verzweigung

Mehr

git verteilte Versionskontrolle

git verteilte Versionskontrolle git verteilte Versionskontrolle Jens Muecke Duesseldorf, 2. Oktober 2009 Content 1. Merkmale 2. Enstehungsgeschichte 3. Aufbau 4. Einfuehrung 5. Erfahrung und Tipps git Jens Muecke 2. Oktober 2009 2 01

Mehr

Git Eine Einführung. LinuxTag 2013, Berlin. Julius Plenz. 22. Mai 2013

Git Eine Einführung. LinuxTag 2013, Berlin. Julius Plenz. 22. Mai 2013 Git Eine Einführung LinuxTag 2013, Berlin Julius Plenz 22. Mai 2013 Ablauf Versionskontrolle: Zentral vs. Dezentral Historischer Kurzabriss zu Git Das Objektmodell wie funktioniert Git? Merge vs. Rebase

Mehr

Das Arbeitsverzeichnis enthält den aktuellen Stand des Projektes und alle noch nicht erfassten Änderungen.

Das Arbeitsverzeichnis enthält den aktuellen Stand des Projektes und alle noch nicht erfassten Änderungen. 1 Grundlagen Was ist Git? Git ist ein verteiltes Versionskontrollsystem, das Beginn 2005 von Linus Torvalds entwickelt wurde. Git ist Open Source. Durch ein Versionskontrollsystem ist es Entwicklern möglich,

Mehr

Verteilte Versionskontrolle mit Mercurial (DVCS)

Verteilte Versionskontrolle mit Mercurial (DVCS) Verteilte Versionskontrolle mit Mercurial (DVCS) Peter Arrenbrecht http://arrenbrecht.ch/ (DVCS: distributed version control system) DVCS ist heisses Thema Grosse Projekte haben umgestellt Mercurial: OpenJDK,

Mehr

Verlässliche Echtzeitsysteme

Verlässliche Echtzeitsysteme Verlässliche Echtzeitsysteme Übungen zur Vorlesung Florian Franzmann, Tobias Klaus Friedrich-Alexander-Universität Erlangen-Nürnberg Lehrstuhl Informatik 4 (Verteilte Systeme und Betriebssysteme) https://www4.cs.fau.de

Mehr

1 Zugang zum GIT Repository

1 Zugang zum GIT Repository 1 Zugang zum GIT Repository Der Zugang zum GIT Repository ist je nach Berechtigung unterschiedlich. Es gibt für jeden einen read-only Zugang, der Link dazu ist im Repository sichtbar, welcher sich auf

Mehr

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de

CVS-Einführung. Sebastian Mancke, mancke@mancke-software.de CVS-Einführung Sebastian Mancke, mancke@mancke-software.de Grundlagen Motivation und Anforderung Sobald ein Softwaresystem anwächst, ergeben sich Probleme im Umgang mit dem Quell Code. CVS (Concurrent

Mehr

Subversion. Einstieg in die. Versionskontrolle

Subversion. Einstieg in die. Versionskontrolle Versionskontrolle mit Subversion Einstieg in die Versionskontrolle Dipl.Ing.(FH) K. H. Marbaise Agenda Wozu Versionskontrolle? Was leistet Versionskontrolle? Historie zu Subversion Projekt Handling Installation

Mehr

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]

Inhaltsverzeichnis. 1 Einleitung. Literatur. 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05] Inhaltsverzeichnis 1 Einleitung 3 1.1 CVS (Concurrent Version System) [Pru03, Zee02, Ced05]....... 4 1.2 Eclipse als Java Entwicklungsumgebung................. 21 1 Einleitung Versionierung mit CVS Eclipse

Mehr

GIT LERNEN MIT BEISPIELEN. Andy Theiler Xtreme Software GmbH www.x3m.ch. Eine Schritt für Schritt Anleitung für den GIT-Neuling

GIT LERNEN MIT BEISPIELEN. Andy Theiler Xtreme Software GmbH www.x3m.ch. Eine Schritt für Schritt Anleitung für den GIT-Neuling GIT LERNEN MIT BEISPIELEN Eine Schritt für Schritt Anleitung für den GIT-Neuling Andy Theiler Xtreme Software GmbH www.x3m.ch Version: 3. Februar 2015 INHALTSVERZEICHNIS EINLEITUNG Für wen ist dieses Dokument

Mehr

Wichtige Git-Befehle

Wichtige Git-Befehle 1. Neues Git-Repository anlegen: Lokales Repository (privat): Wichtige Git-Befehle cd < Name des zu verwaltenden Verzeichnisses > git init Diese Variante ist sowohl bei neuen als auch bereits belegten

Mehr

Java User Group München

Java User Group München Java User Group München Subversion, Mercurial & Co. Zentrale und verteilte Versionsverwaltungen im Vergleich Christine Koppelt Stefan Seelmann Überblick Zentral vs. Verteilt Funktionen von Subversion,

Mehr

Crashkurs Subversion / Trac / Provisioning. Jan Zieschang, 04.01.2008, Berlin

Crashkurs Subversion / Trac / Provisioning. Jan Zieschang, 04.01.2008, Berlin Crashkurs Subversion / Trac / Provisioning Jan Zieschang, 04.01.2008, Berlin Agenda 2 Subversion Das SCM TortoiseSvn Der Client Trac Das Tracking-Tool Provisioning Das Provisioning Tool Arbeiten mit Subversion/TortoiseSvn

Mehr

Versionskontrolle mit Subversion

Versionskontrolle mit Subversion Versionskontrolle mit Subversion Dipl.-Inf. (FH) Jan Fader 14. März 2008 Dipl.-Inf. (FH) Jan Fader Versionskontrolle mit Subversion 14. März 2008 1 / 10 Einführung Vorteile eines Versionskontrollsystems

Mehr

Software Engineering 2 Versionsverwaltung

Software Engineering 2 Versionsverwaltung Software Engineering 2 Versionsverwaltung Prof. Dr. Axel Böttcher 7. Oktober 2012 Lernziele Die Grundlegenden Konzepte kennen Mit einem Versionsverwaltungssystem produktiv arbeiten können Ein geeignetes

Mehr

Verteilte Versionskontrolle mit Mercurial

Verteilte Versionskontrolle mit Mercurial Verteilte Versionskontrolle mit Mercurial Moderator Dirk Bielemeier GmbH DVCS? Praxis 1 Technik Geschichte, Vorteile, Abgrenzung, Vergleich Setup, Versionierung eines kleinen Projektes, Basisbefehle Hinter

Mehr

Concurrent Versions System (CVS)

Concurrent Versions System (CVS) Concurrent Versions System (CVS) Siarhei Trushyn Proseminar Unix Tools TUM 22. November 2005 Gliederung 1 Einfuhrung 2 Archiv 3 Projekt mit CVS 4 Momentaufnahmen 5 Zusammenfassung Was ist CVS? Denition

Mehr

Wissenschaftliches Programmieren

Wissenschaftliches Programmieren Wissenschaftliches Programmieren álint Aradi cms/people/b_aradi/ 8. Versionsverwaltung für mehrere Entwickler Grundproblematik der parallelen Entwicklung Zwei Entwickler arbeiten am selben Projekt (an

Mehr

Deployment Deployment Seite 1 / 25

Deployment Deployment Seite 1 / 25 Seite 1 / 25 Versionskontrolle Seite 2 / 25 Verteilte Versionskontrollsysteme Seite 3 / 25 Seite 4 / 25 Zusammenfassung Versionskontrolle Wir verwenden bei der Entwicklung das dezentralisierte Versionskontrollsystem

Mehr

Versionsverwaltung mit SVN

Versionsverwaltung mit SVN Versionsverwaltung mit SVN Jan-Philipp Kappmeier Technische Universität Berlin 11. 04. 2012 Versionsverwaltung Typische Situation in der Softwareentwicklung Mehrere Personen arbeiten an einem Projekt Arbeiten

Mehr

Mercurial. or how I learned to stop worrying and love the merge. Ted Naleid IAIK

Mercurial. or how I learned to stop worrying and love the merge. Ted Naleid IAIK Mercurial or how I learned to stop worrying and love the merge Ted Naleid Inhalt Einleitung Vergleich SVN / Mercurial Mercurial verstehen Zusammenarbeit mit Mercurial Demo Mercurial - Intro Entwickelt

Mehr

Versionskontrolle. Verteilte Versionskontrollsysteme. Richard Madsack. 25. November 2008. Versionskontrolle. Richard Madsack.

Versionskontrolle. Verteilte Versionskontrollsysteme. Richard Madsack. 25. November 2008. Versionskontrolle. Richard Madsack. 25. November 2008 Outline 1 2 3 4 5 ? Ein paar Worte zu Wieso sollte man ein VCS benutzen? Informationen, die ein VCS zur Verfügung stellt Was wurde geändert? (diff) Wer hat geändert? Wann wurde die Änderung

Mehr

GIT & SVN. Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Datenmanagement und -exploration Prof. Dr. T. Seidl

GIT & SVN. Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Datenmanagement und -exploration Prof. Dr. T. Seidl Rheinisch-Westfälische Technische Hochschule Aachen Lehrstuhl für Datenmanagement und -exploration Prof. Dr. T. Seidl Proseminar: Methoden und Werkzeuge GIT & SVN Versionsverwaltung Alexander aus der Fünten

Mehr

Gitting started. Christian Neukirchen. 05nov2010

Gitting started. Christian Neukirchen. 05nov2010 Gitting started Christian Neukirchen 05nov2010 Wieso Versionskontrolle? Erste Schritte Branches Zusammenarbeit Nicht-trivale Features GUI Wechsel von SVN Git-Hacks Ausblick Table of contents Wieso Versionskontrolle?

Mehr

Einführung in Subversion. Tutorium SWP

Einführung in Subversion. Tutorium SWP Einführung in Mehrere Personen arbeiten am gleichen Dokument Probleme: Austausch/Integration der Ergebnisse? Überlappende Arbeitsbereiche? Datensicherung? Kommunikation? Wer hat was geändert? Einführung

Mehr

Versionskontrolle mit Subversion

Versionskontrolle mit Subversion Versionskontrolle mit Ralph Thesen Institut für Numerische Simulation Rheinische Friedrich-Wilhelms-Universität Bonn Seminar: Technische Numerik November 2009 Überblick 1 Warum? Aber! Konzepte 2 Zugriff

Mehr

TortoiseSVN unter Windows

TortoiseSVN unter Windows TortoiseSVN unter Windows Inhalt TortoiseSVN unter Windows 1 1) Vorwort 3 2) Allgemeine Hinweise zu SVN 4 3) Installation und Konfiguration 5 4) Die SVN-Kommandos 6 4.1) Das Kommando checkout / auschecken

Mehr

Versionskontrolle mit Subversion

Versionskontrolle mit Subversion mit im Rahmen der Projektarbeit "Moderne Methoden der Parallelverarbeitung" Michael Süß Universität Kassel http://www.se.e-technik.uni-kassel.de/se/index.php?id=494 Michael Süß, November 23, 2004 mit -

Mehr

Versionsverwaltung mit Git Kurze Einführung am Beispiel von L A TEX. E. Frank Sandig

Versionsverwaltung mit Git Kurze Einführung am Beispiel von L A TEX. E. Frank Sandig Versionsverwaltung mit Git Kurze Einführung am Beispiel von L A TEX E. Frank Sandig Versionsverwaltung mit Git WORUM ES HEUTE GEHT Motivation Geschichte Begriffe Eigenschaften Beispiele Stoff zum Lesen

Mehr

Versionsverwaltung mit Git

Versionsverwaltung mit Git Versionsverwaltung mit Git Kurze Einführung am Beispiel von L A TEX E. Frank Sandig Versionsverwaltung mit Git WORUM ES HEUTE GEHT Motivation Geschichte Begriffe Eigenschaften Beispiele Stoff zum Lesen

Mehr

Subversion - Versionsverwaltungssystem

Subversion - Versionsverwaltungssystem Subversion - Versionsverwaltungssystem Was kommt nach CVS? Daniel Jahre daja@rocklinux.org - p. 1/36 Zitat If C gives you enough rope to hang yourself, think of Subversion as a sort of rope storage facility.

Mehr

Versionskontrolle mit Subversion. Carnot 6.0

Versionskontrolle mit Subversion. Carnot 6.0 Versionskontrolle mit Subversion Carnot 6.0 1 Sourceforge... 3 1.1 Ordnerstruktur repository-browser... 4 2 Arbeiten mit TortoiseSVN... 4 2.1 Lokale Arbeitskopie erstellen... 5 2.2 Dateien hinzufügen /

Mehr

Versionskontrolle mit Mercurial. Michael Gebetsroither

Versionskontrolle mit Mercurial. Michael Gebetsroither <michael.geb@gmx.at> Versionskontrolle mit Mercurial Michael Gebetsroither Inhalt Welche Systeme gibt es? - Genauerer Überblick. Mercurial: - Einführung - Grundlagen test Versionskontrollsysteme CVS Mercurial

Mehr

Softwareprojekt - Einführung

Softwareprojekt - Einführung Softwareprojekt - Einführung Danny Götte danny.goette@tu-ilmenau.de Softwareprojekt - Einführung FG System- und Software-Engineering Prof. Armin Zimmermann Armin.Zimmermann@tu-ilmenau.de Ablauf Einführung

Mehr

Versionsverwaltung mit Mercurial für Einsteiger

Versionsverwaltung mit Mercurial für Einsteiger Versionsverwaltung mit Mercurial für Einsteiger Chemnitzer Linuxtage 2009 Stefan Schwarzer, SSchwarzer.com info@sschwarzer.com Chemnitz, Germany, 2009-03-14 Versionsverwaltung mit Mercurial für Einsteiger

Mehr

1 Zugang zum GIT Repository

1 Zugang zum GIT Repository Inhaltsverzeichnis 1 Zugang zum GIT Repository...1 2 Git unter Windows installieren...2 3 Wie kann ich mithelfen...4 4 Schreibzugriff einrichten...7 4.1 SSH-Key anlegen...7 4.2 SSH Key laden...8 4.3 Repository

Mehr

Prinzipielles zur Benutzung von Versionskontrollsystemen

Prinzipielles zur Benutzung von Versionskontrollsystemen SVN How-To Fragen, Anregungen oder Vorschläge an Jochen. SVN testen Wer erstmal ein bisschen mit Subversion rumspielen will, der kann sich ein lokales Repository anlegen. Wie das geht steht hier: http://www.codeproject.com/kb/winsdk/subversiononwindows.aspx

Mehr