Upload
others
View
2
Download
0
Embed Size (px)
Citation preview
Versionsverwaltung mit GitKurze Einführung am Beispiel von LATEX
E. Frank Sandig
Versionsverwaltung mit Git
WORUM ES HEUTE GEHT
Motivation
Geschichte
Begri�e
Eigenscha�en
Beispiele
Sto� zum Lesen
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 1
Motivation
MOTIVATION
Größere Projekte:
Verfolgen der Projektgeschichte
Zurücknehmen von Änderungen
verteiltes, kollaboratives Arbeiten am Projekt
e�iziente Verwaltung
unkomplizierte Verö�entlichung des �elltextes
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 2
MOTIVATION
Größere Projekte:
Verfolgen der Projektgeschichte
Zurücknehmen von Änderungen
verteiltes, kollaboratives Arbeiten am Projekt
e�iziente Verwaltung
unkomplizierte Verö�entlichung des �elltextes
2015
-04-
10Motivation
Motivation
Mehr als drei Dateien und mehr als 1000 Worte.
Geschichte
NAMENSHERKUNFT
“I’m an egotistical bastard, and I name all my projects a�ermyself. First ‘Linux’, now ‘Git’.”
Linus Torvalds
“The joke ‘I name all my projects for myself, first Linux,then git’ was just too good to pass up. But it is also short,easy-to-say, and type on a standard keyboard. Andreasonably unique and not any standard command, whichis unusual.”
Linus Torvalds
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 3
Geschichte
ENTSTEHUNG2005 von Linus Torvalds gestartetAnlass: bis dahin für Linux (Kernel) verwendeteVersionsverwaltung BitKeeper bekam neue Lizenz, eswären Gebühren angefallenHauptentwickler heute: Junio HamanoAnforderungen:
1. verteilte Arbeitsweise, Abläufe ähnlich BitKeeper2. sehr hohe Sicherheit gegen unbeabsichtigte und
böswillige Verfälschung3. hohe E�izienz
Punkt 3 wurde nach Torvalds’ Ansicht vom bereitsbestehenden Projekt Monotone nicht erfüllt
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 4
ENTSTEHUNG2005 von Linus Torvalds gestartetAnlass: bis dahin für Linux (Kernel) verwendeteVersionsverwaltung BitKeeper bekam neue Lizenz, eswären Gebühren angefallenHauptentwickler heute: Junio HamanoAnforderungen:
1. verteilte Arbeitsweise, Abläufe ähnlich BitKeeper2. sehr hohe Sicherheit gegen unbeabsichtigte und
böswillige Verfälschung3. hohe E�izienz
Punkt 3 wurde nach Torvalds’ Ansicht vom bereitsbestehenden Projekt Monotone nicht erfüllt20
15-0
4-10
Geschichte
Entstehung
Arten der E�izienz:
• e�iziente Befehle (wenig bewirkt viel)
• e�iziente Speicherung (geringer Overhead der Verwaltung);Commits, Branches, ...
• e�iziente interne Arbeitsweise (schnelle Ausführung)
Geschichte
ALTERNATIVEN
verteilte Versionsverwaltung:MonotoneBitKeeperMercurialBazaarGNU arch
zentrale Versionsverwaltung:Apache Subversion (svn)
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 5
ALTERNATIVEN
verteilte Versionsverwaltung:MonotoneBitKeeperMercurialBazaarGNU arch
zentrale Versionsverwaltung:Apache Subversion (svn)20
15-0
4-10
Geschichte
Alternativen
auch: lokale Versionsverwaltung, eher selten
Geschichte
VERWENDUNG
zahlreiche Opensource-Projekte, z. B.:
Amarok, Android, BusyBox, CMake, Debian, DragonFlyBSD, Drupal, Eclipse, Erlang, Fedora, Git selbst, Gnome,Joomla, j�ery, JUnit, KDE, LibreO�ice, LilyPond,Linux-Kernel, Linux Mint, MediaWiki, node.js, OneLaptop per Child, OpenFOAM, Perl 5, Parrot und Rakudo(Perl 6), PHP, phpBB, Plone, PostgreSQL, Qt, Ruby onRails, Ruby, Samba, Scala, TaskJuggler, TYPO3, VLC mediaplayer, Wine, x264 und X.org uvm.
neu Nov. 2014: GNU Emacs, Google Go
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 6
Begri�e
BEGRIFFE
TextdateiEine Datei, welche unformatierten Text im ASCII-Format (oderkompatibel), also eine direkt druckbare Zeichenfolge, enthält.Insbesondere existieren Zeilenumbrüche. Bei LATEX primär der �elltext,ferner auch .bib-Datenbanken, Hilfs- und Logdateien und ähnliches.Menschenlesbar.
BinärdateiMaschinenlesbare Datei. Benötigt zur Anzeige für den Menschen einenInterpreter (fertige PDF-Datei) oder ist selbst eine ausführbare Datei(.exe). Weiter gefasst alles, was kein reiner Text ist.
Beide Arten werden von Git unterschiedlich behandelt: → Commit.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 7
Begri�e
BEGRIFFE IIRepository
Lager, Depot. Übertragen: Projektarchiv. Verwaltetes Verzeichniszur Speicherung und Beschreibung von digitalen Objekten, also z. B.Ordner mit Dateien + Verwaltungsinformationen hinter einerInfrastruktur. Der Speicherort kann lokal oder entfernt sein. Der Befehlgit init macht einen Ordner durch erstellen derVerwaltungsinformationen zum Repository.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 8
Begri�e
BEGRIFFE IIIForkGabel. Übertragen: Abspaltung. Vollständige Kopie eines Projektes,welche unabhängig weiterentwickelt werden kann. Insbesonderemindestens ein vollständiges Repository mit untergliederten →Branches, welches die gesamte Projektgeschichte enthält. Der Forkkann dem ursprünglichen Projekt über → Pull Requests und/oder einen→ Upstream Branch verbunden bleiben. Forks sind im Rahmen verteiltentwickelter Projekte ein reguläres Arbeitsmi�el (Fork = Arbeitskopie).Linus Torvalds’ Betriebssystemkern Linux wurde auf GitHub über 7500Mal (01/2015) geforkt, in der Regel, um Änderungen zum Projektbeizutragen, nicht, um ein neues Projekt zu gründen.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 9
Begri�e
BEGRIFFE IVBranchZweig. Jede verwaltete Ableitung des Arbeitsverzeichnisses isttechnisch ein Branch. In der Regel eine Abspaltung innerhalb desProjektes, z.B. zum Erstellen einer neuen Hauptversion oder zurgetrennten Entwicklung einer bestimmten Funktion. In großenLATEX-Projekten können einzelne Kapitel in getrennten Zweigenentwickelt werden. Zweige eines Projektes können verschmolzenwerden: → Merge.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 10
Begri�e
BEGRIFFE VRemoteEntferntes Repository. Dies kann ein Remote Tracking Branch zurVerö�entlichung und Sicherung des �elltextes sein (lesen undschreiben) oder ein → Upstream Repository (nur lesen). Ein Remote istimmer auch ein Branch.
CommitBegehen, einprägen. Übertragen: Beitrag, Revision. Gesamtheitder gemeinsam übergebenen (und freigeschalteten) Änderungen einerArbeitsphase. Dazu zählen die zeilenweisen Änderungen derTextdateien und die vollständigen veränderten Binärdateien.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 11
Begri�e
BEGRIFFE VIOrigin
Bezeichnet den primären Remote Tracking Branch eines Repositorys.
MasterAusgangszweig eines Projektes. Wird beim initialisieren automatischerstellt. Primärer Arbeitszweig.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 12
Begri�e
BEGRIFFE VIIUpstream
Stromaufwärts. Übertragen: Sender/�elle. Ein Repository, aufwelches vom Arbeitsverzeichnis aus nur lesend zugegri�en wird.Änderungen können von Upstream direkt in Master verschmolzenwerden. Umgekehrt ist ein → Pull (Request) nötig. In der Regel wirdnach einem Fork das Ausgangsrepository als Upstream definiert.
FetchAbholen. Kopieren von Commits aus einem entfernten Repository(z. B. Upstream oder Origin) in den gleichnamigen Zweig des lokalenRepositorys. Beispiel: git fetch upstream
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 13
Begri�e
BEGRIFFE VIIIPushSchieben. Senden von Commits aus einem Zweig des lokalenRepositorys in ein entferntes Repository. Beispiel: git pushorigin master
PullZiehen. Übernahme von Commits aus einem Fork in dasAusgangsprojekt durch den Besitzer des Ausgangsrepositorys.Verbunden mit einem → Merge.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 14
Begri�e
BEGRIFFE IXPull Request
Zug-Anfrage. Anfrage eines Autors von Änderungen, diese aus dessenFork in das ursprüngliche Projekt zu übernehmen. Wird in der Regelüber das Webinterface des Git-Servers ausgelöst.
Di�Di�erenz. Zeilenweises Anzeigen von Unterschieden in Textdateiendes Projektes und Anzeige der geänderten Binärdateien. Der StilEntspricht dem Unix-Programm di�. Es ist die Anzeige bezüglicheinzelner Commits, einzelner Zweige, eines Stichdatums oder einesZeitraumes möglich.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 15
Begri�e
BEGRIFFE XMerge
Verschmelzen. Übernahme sämtlicher Commits eines Zweiges ineinen anderen, wonach die Zweige synchron sind. Beispiel: gitmerge upstream/master
CloneKlonen. Erstellen einer vollständigen Kopie eines anderen Repositorys.Die �elle kann lokal oder entfernt sein, das Ziel ist standardmäßig einUnterordner im aktuellen Verzeichnis. Notwendig, um eine lokaleArbeitskopie eines geforkten Projekts zu erstellen. Die angegebene�elle wird automatisch als Origin definiert. Beispiel: git clonehtt-ps://[email protected]/Ekkehardt/linux.git
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 16
Begri�e
BEGRIFFE XI
HashZeichenfolge fester Länge, welche aus Eingabedaten beliebiger Längeüber eine Hashfunktion berechnet wird. Kleine Änderungen an denEingabedaten bewirken große Änderungen im Hash. Dient zumNachweis der Integrität der Daten und zur Identifikation der einzelnenCommits. Entspricht folglich einer Prüfsumme und Revisionsnummer.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 17
Eigenscha�en
EIGENSCHAFTEN
nicht-lineare EntwicklungErstellen und Verschmelzen von Entwicklungszweigen; e�izienteImplementierung der Zweige.
kein zentraler ServerJeder Entwickler besitzt eine Arbeitskopie mit der gesamtenProjektgeschichte. Alle Remotes und lokale Kopien sind technischgleich.
Datentransfer zwischen Repositorysfile://, git://, ssh://, h�p://, h�ps://, �p:// oder rsync://
Kryptographische Sicherheit der ProjektgeschichteDer Hash eines einzelnen Commits basiert auf der vollständigenGeschichte, die zu diesem Commit geführt hat; markieren undsignieren (GPG) einzelner Commits.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 18
Eigenscha�en
EIGENSCHAFTEN II
Speichersystem und DateiversionierungEs erhält nicht jede Datei eine Revisionsnummer, wie bei CVS,sondern es werden Verweise ähnlich einem Dateisystemgespeichert. Ändert sich eine Datei nicht, ist kein erneutesSpeichern nötig.
Säubern des RepositorysDaten aller Commits und Zweige bleiben bis zum explizitenlöschen vorhanden, um Änderungen zurücknehmen zu können.
InteroperabilitätÜber Hilfsprogramme: Austausch mit GNU arch (git-archimport),CVS (git-cvsexportcommit, git-cvsimport und git-cvsserver), Darcs(darcs-fastconvert, darcs2git und andere), �ilt (git-quiltimport)und Subversion (git-svn).
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 19
Eigenscha�en
EIGENSCHAFTEN III
Web-InterfaceGitweb, git-tf, GitHub, bitbucket, . . .
Läu� auf fast allen modernen unixartigen Systemen, wie Linux,Solaris, Mac OS X, FreeBSD, DragonFly BSD, NetBSD, OpenBSD,AIX, IRIX und Haiku.
Unter Microso� Windows mit dem Client von GitHub, mit Hilfeder Cygwin-Umgebung, mit Msysgit oder derTortoiseGit-Shell-Erweiterung anwendbar.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 20
Eigenscha�en
AUFBAU EINES LOKALEN REPOSITORYS
Abb. 1: lokales Repository dieses Vortrages
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 21
Eigenscha�en
AUFBAU EINES LOKALEN REPOSITORYS II
Abb. 2: die Datei .gitignore
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 22
Eigenscha�en
AUFBAU EINES LOKALEN REPOSITORYS III
Abb. 3: die Datei README.md
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 23
Beispiele
MIT LEEREM REMOTE-REPO BEGINNEN
- repo anlegen (Homepage)- in Ordner mit zu verwaltenden Daten wechseln
git initgit add -Agit commit -m "erster Commit"git remote add origin https://[email protected]/
User/repo.gitgit push -u origin master
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 24
Beispiele
REMOTES LÖSCHEN
git remote remove originVersion 1.7.10 und vorher: git remote rm origin
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 25
Beispiele
REMOTES UMZIEHEN
- neues Remote anlegen (Homepage)
git remote set-url origin https://new.url.heregit push -u origin master
- altes Remote löschen (Homepage)
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 26
Beispiele
REPO KLONEN
- ggf. zuerst auf HP forken
git clone https://github.com/User/repo.git
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 27
Beispiele
ÄNDERUNGEN ZURÜCKGEBEN
git add -Agit commit -m "Update message"git push origin master
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 28
ÄNDERUNGEN ZURÜCKGEBEN
git add -Agit commit -m "Update message"git push origin master
2015
-04-
10Beispiele
Änderungen zurückgeben
Origin ist bereits definiert; evtl Pull-Request über Homepage
Beispiele
ÄNDERUNGEN VOM UR-REPO HOLEN
git remote add upstream https://github.com/andererUser/ursrungsrepo.git
git fetch upstreamgit merge upstream/master
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 29
Beispiele
MANUELL MERGEN
git mergetool
z. B. opendi�, kdi�3, tkdi�, xxdi�, meld, tortoisemerge, gvimdi�,di�use, di�merge, ecmerge, p4merge, araxis, bc3, codecompare,emerge, vimdi�
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 30
Beispiele
ÄNDERUNGEN ANZEIGEN
Zustand des Repos:git status
grafisch:gitk
Liste aller Commits mit ihrem SHA1-Hash:git log
in einem bestimmten Commit:git diff "@{e1b9}"
seit gestern:git diff "@{yesterday}"
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 31
Beispiele
ÄNDERUNGEN ANZEIGEN II
seit dem 2. Januar 1970:git diff "@{1970-01-02}"
zwischen irgendeiner Version und der vorvorletzten:git diff 1b6d "master~2"
alle Commits der letzten zwei Wochen:git whatchanged --since="2 weeks ago"
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 32
Beispiele
ÄNDERUNGEN ANZEIGEN III
Abb. 4: Das Programm gitk
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 33
ÄNDERUNGEN ANZEIGEN III
Abb. 4: Das Programm gitk
2015
-04-
10Beispiele
Änderungen Anzeigen III
gitk muss in der Regel nachträglich installiert werden
Beispiele
ÄNDERUNGEN ANZEIGEN IV
Abb. 5: Ausgabe des Befehls git log
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 34
Beispiele
ÄNDERUNGEN ANZEIGEN V
Abb. 6: Ausgabe des Befehls git diff "@{yesterday}"
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 35
Beispiele
ÄNDERUNGEN ANZEIGEN VI
Abb. 7: Ausgabe des Befehls git whatchanged –since="2 weeks ago"
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 36
Beispiele
ÄNDERUNGEN ANZEIGEN VII
Abb. 8: Die Oberfläche gitweb
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 37
Beispiele
ÄNDERUNGEN RÜCKGÄNGIG MACHEN
unwiederbringlich zum angegebenen Stand zurückkehren:
git reset --hard 766f
angegebenen Commit rückgängig machen (als neuenCommit):
git revert 1b6d
letzten veröffentlichten Stand wiederherstellen:git fetch origingit merge origin/master
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 38
Beispiele
REPO NEU PACKEN
git gc --auto
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 39
Beispiele
DATEI AUS ALLEN COMMITS LÖSCHEN
git filter-branch --prune-empty --index-filter "gitrm --cached -f \--ignore-unmatch Dateiname.pdf
" -- --all
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 40
DATEI AUS ALLEN COMMITS LÖSCHEN
git filter-branch --prune-empty --index-filter "gitrm --cached -f \--ignore-unmatch Dateiname.pdf
" -- --all
2015
-04-
10Beispiele
Datei aus allen Commits löschen
Nach git filter-branch muss das remote gelöscht und neu angelegt werden, danachein push. Sonst entstehen unlösbare Konflikte.
Beispiele
ARBEITEN MIT ZWEIGEN
Zweige anzeigen:git branch
Zweig anlegen:git branch NAME
in Zweig wechseln:git checkout NAME
Anlegen und Wechseln gleichzeitig:git checkout -b NAME
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 41
Beispiele
ARBEITEN MIT ZWEIGEN II
Zweige verschmelzen:git merge QUELLE/ZIEL
Zweige löschen:git branch -d NAME
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 42
Sto� zum Lesen
WEITERE INFORMATIONEN
[1] URL: h�ps://www.atlassian.com/de/git/tutorial/git-basics.
[2] URL: h�p://git-scm.com/book/de.
[3] URL: h�p://git-scm.com/documentation.
[4] URL: h�p://rogerdudler.github.io/git-guide/index.de.html.
[5] URL:h�p://www-cs-students.stanford.edu/~blynn/gitmagic/intl/de.
[6] URL: h�p://mbork.pl/2014-10-18_Version_Control_Systems.
[7] URL: h�p://svij.org/blog/2014/10/25/git-fur-einsteiger-teil-1.
[8] URL: h�p://svij.org/blog/2014/11/01/git-fur-einsteiger-teil-2.
[9] URL: h�p://svij.org/blog/2015/01/05/was-ist-git/.
[10] URL: h�p://svij.org/blog/2015/01/12/git-fur-einsteiger-teil-3/.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 43
Sto� zum Lesen
WEITERE INFORMATIONEN II
[11] URL: h�p://wiki.ubuntuusers.de/Git.
[12] URL: h�p://git-scm.com.
[13] URL: h�p://de.wikipedia.org/wiki/Git.
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 44
Ende der Präsentation
VIELEN DANK! – NOCH FRAGEN?
schri�[email protected]�p://github.com/EkkehardtEkkehardt in #latex-de auf irc.freenode.net, aufh�p://texwelt.de und im Forum unterh�p://www.golatex.dePräsentation unter h�p://sandig-fg.de und in Kürzeunter h�p://www.suedraum.de/latex/stammtisch
TU Bergakademie Freiberg | LATEX-Stammtisch | E. Frank Sandig | Versionsverwaltung mit Git | Studentenclub Erdalchi-misten e. V. (EAC) Freiberg | 29.01.2015 45