Git Kurztutorial: Difference between revisions
(One intermediate revision by the same user not shown) | |||
Line 47: | Line 47: | ||
== Änderungen rückgängig machen == | == Änderungen rückgängig machen == | ||
Hat man lokal etwas geändert und möchte wieder den | Hat man lokal etwas geändert und möchte wieder den Stand des letzten commits haben (git pull holt sich den commit aus dem repo): | ||
* git checkout -- <filename> | * git checkout -- <filename> | ||
git add <filename> macht man rückgängig mit: | git add <filename> macht man rückgängig mit: | ||
Line 56: | Line 56: | ||
* git add <filename> | * git add <filename> | ||
* git commit --amend -m "<commit msg>" | * git commit --amend -m "<commit msg>" | ||
=== Notes === | |||
Wenn man bei einem commit nicht -m "<commit msg>" angibt, öffnet sich der standard Texteditor zum schreiben dieser Nachricht. | |||
Den standard Texteditor ändert man mit: | |||
* git config --global core.editor "<editor>" | |||
= Nützliche Links = | = Nützliche Links = | ||
* Bitbucket Tutorial[https://confluence.atlassian.com/display/BITBUCKET/Create+an+Account+and+a+Git+Repo 1], [https://confluence.atlassian.com/display/BITBUCKET/Clone+Your+Git+Repo+and+Add+Source+Files 2] | * Bitbucket Tutorial[https://confluence.atlassian.com/display/BITBUCKET/Create+an+Account+and+a+Git+Repo 1], [https://confluence.atlassian.com/display/BITBUCKET/Clone+Your+Git+Repo+and+Add+Source+Files 2] | ||
* Ein Windows Client: [http://code.google.com/p/tortoisegit/ Tortoise Git] | * Ein Windows Client: [http://code.google.com/p/tortoisegit/ Tortoise Git] |
Latest revision as of 13:03, 19 July 2012
Anleitung zur Abgabe der Übungszettel über Git und Bitbucket
Übungszettel können in Zukunft auch das Online Repository Bitbucket (https://bitbucket.org/) abgegeben werden. Dazu nutzen wir das Versionverwaltungstool Git (http://git-scm.com/).
Terminologie
Die genauen Bezeichnungen können sich zwischen den verschiedenen Versionsverwaltungssystemem unterscheiden (z.B. Git, Bazaar, SVN, etc.)
- Revision
- Eine konkrekte Version einer Datei, eines Ordners oder einer ganzen Ordnerstruktur die im Versionsverwaltungssystem enthalten ist
- Branch
- i.d.R. die aktuellste Revision. In der Softwareentwicklung nutz man häufig mehrere branches parallel, z.B. einen Hauptentwicklungszweig (branch) und mehrere Nebenzweige für Experimente oder neue Programfeatures.
- working copy
- Die Dateien und Ordner die man gerade bearbeitet und deren Änderungen i.d.R. noch nicht im Versionsverwaltungssystem enthalten sind
- Repository
- Eine Sammlung an Revisionen mit zeitlicher und/oder logischer Ordnung.
- commit
- Das einpflegen der aktuellen working copy in das Repository (dabei wird eine neue Revision erzeugt)
Kurzanleitung
- Anlegen eines Accounts bei Bitbucket
- Erzeugen eines Repositories (Repositories -> create Repository)
- Sinnvollen Namen für das Repository wählen, z.B. ALDA
- Repository Type: Git
- Language: Python
- Setzen der Zugriffsrechte
- (Repository -> <eigenes Repository> -> Admin -> Access Managment)
- Hier kann man dem Übungspartner Schreibrechte zuweisen, bzw. dem Übungsgruppenleiter Leserechte
- Klonen des Repositories auf den eigenen Rechner (damit erzeugt man auch eine working copy)
- In der Kommandozeile: git clone https://<nutzername>@bitbucket.org/<nutzername>/<repository>.git
- Übungszettel lösen
- Für die Übung relevante Dateien einchecken
- Es empfiehlt sich Unterordner für die verschiedenen Übungszettel anzulegen, z.b. 01,02,etc.
- git add <dateiname> bzw. git add <ordnername> (fügt den ordner und alle enthaltenen Dateien hinzu)
- git commit -a -m "Statusnachricht" (Erzeugt eine neue Revision mit allen hinzugefügten neuen Dateien sowie den Änderungen an bereits bestehenden Dateien)
- git push -u origin master (Übertragen der Daten zum Server)
- Erst nach diesem letzem Schritt können die Übungsleiter auch die Lösungen einsehen. Es empfiehlt sich auf der bitbucket Homepage im eigenen Repository unter "Code" zu überprüfen ob alle wichtigen Dateien vorhanden sind.
- Es genügt ein Repository pro Team. Einzelne Übungszettel sollten in Unterordnern organisiert sein.
git merge/push/pull/fetch
Es gibt verschiedene möglichkeiten commits zwischen dem bitbucket repository und euren repositories hin und her zu schieben:
- git pull ist git fetch und dann git merge
- git fetch holt die Änderungen aus dem remote repository
- git push schiebt die Änderungen ins remote repository
- git merge versucht die Änderungen von einer anderen revision in euer arbeitsverzeichniss einzufügen
Änderungen hochladen
Dafür folgendes ausführen um Chaos zu vermeiden:
- git commit (einen commit erstellen)
- git pull (abgleich mit dem remote repository, falls jemand anderes etwas hochgeladen hat)
- git push (hochladen Eures commits und des evtl. benötigten zusammenführens)
Änderungen rückgängig machen
Hat man lokal etwas geändert und möchte wieder den Stand des letzten commits haben (git pull holt sich den commit aus dem repo):
- git checkout -- <filename>
git add <filename> macht man rückgängig mit:
- git reset HEAD <filename>
git commit <...> macht man rückgängig mit (sollte man ein noch älteres commit entfernen möchten, HEAD durch den SHA1 des commits ersetzen):
- git revert HEAD
oft hat man aber nur vergessen ein file zu "git add"en, dann macht man:
- git add <filename>
- git commit --amend -m "<commit msg>"
Notes
Wenn man bei einem commit nicht -m "<commit msg>" angibt, öffnet sich der standard Texteditor zum schreiben dieser Nachricht. Den standard Texteditor ändert man mit:
- git config --global core.editor "<editor>"
Nützliche Links
- Bitbucket Tutorial1, 2
- Ein Windows Client: Tortoise Git