Haeufig gestellte Fragen zum Thema Git im Morgengrauen
======================================================

* Was muss ich machen, damit mein Git-Repo automatisch mit dem MG
* synchronisiert wird?
  Eine Synchronisation findet automatisch statt, wenn man einen Import eines
  Verzeichnisses aus dem Mud durchfuehrt.
  Macht man dies nicht, sondern ein Erzmagier erstellt unabhaengig vom Mud ein
  Repo, muss dieser wissen, was er tut und wie man das einrichtet. ;-)

* Aufnahme als Regionsmitarbeiter/Regionsmagier/Weiser/Erzmagier/Gott
  Dies ist zurzeit nur durch einen EM+ moeglich.

* Wie benutze ich Git unter Windows?
  GitHub hat eine Anleitung fuer msysgit, welche im wesentlichen auch fuers MG
  brauchbar ist:
  http://help.github.com/win-set-up-git/
  Eine weitere Moeglichkeit ist hier angeben:
  http://rogerdudler.github.io/git-guide/
  Einige in Frage kommende Git-Pakete sind hier kurz vorgestellt:
  http://www.makeuseof.com/tag/5-windows-git-clients-git-job/
  Eine Anleitung fuer die Nutzung von Putty als SSH-Client unter Windows
  findet sich in contrib/putty.mkd auf https://github.com/sitaramc/gitolite/

* Wie kann ich mir die Geschichte meines Repos graphisch anzeigen lassen?
  Da gibt es verschiedene Loesungen, vor allem auch abhaengig vom
  Betriebssystem. Auf allen geht vermutlich 'gitk' und 'git gui'.
  Auf MacOS gibt es auch 'GitX'.

* Kann man Aenderungen/Diffs/ farbig markiert anzeigen?
  > git log -p --color-words
  Alternativ kann man .git/config folgende Parameter setzen:
  [color]
    color.diff=auto
    color.grep=auto
    color.status=auto

  Wenn man es generell bunt haben will, setzt man einfach
  [color]
    color.ui=auto

  in die Konfigurationsdatei.

* Warum soll ich denn die color-Einstellungen auf auto und nicht true setzen?
  Der Wert auto bewirkt, dass git nur dann die Ausgaben einfaerbt, wenn diese
  nach STDOUT gehen. Ansonsten bekommt man den ASCII-kodierten Farbstring in
  die Ausgabedatei geschrieben.

* Wie kann ich eine Repository loeschen?
  Zur Zeit ist dies nur durch einen EM mit Shellzugang auf dem MG-Rechner
  moeglich.

* Kann ich an einem Gebiet, fuer das ich keinen Schreibzugriff habe, helfen
* einen Bug zu fixen?
  Ja - sofern Du Leserechte auf das Repository hast. Du kannst das Repo dann
  forken, d.h. eine Kopie erstellen. Die beste Methode hierfuer ist
  > ssh git@mg.mud.de fork d/gebirge/zook/wald players/zesstra/public/zwald
  Hierbei wird ein Clone des Repos erstellt und sich gemerkt, welches das
  Original war. In Deinem Repo kannst Du nun einen Bugfix machen. Bist Du
  fertig, sagst Du dem Gebietsmagier (oder einem zustaendigen RM) Bescheid und
  bittest ihn, den entsprechenden Branch (z.B. syntax_bugfix) zu pullen.

* Wie vermeide ich einen 'merge commit', wenn ich lokale Aenderungen in einem
* Zweig habe, in den ich Aenderungen aus dem MG pullen moechte?
  Eine Moeglichkeit hierfuer ist das Pullen mit 'git pull --rebase', um git
  einen implizites Rebase beim Pull durchfuehren zu lassen.


Was ist git?
Wo krieg ich git her?
Wie kann ich das Repository clonen?
Wie kann ich ein Changelog anzeigen lassen?
Wie kann ich ein Changelog mit Diff anzeigen lassen?

SIEHE AUCH:
  gerrit: Repository-Verwaltung im Mud
  git-howto: Wie git benutzt wird
  git-workflow: Ein simples Beispiel eines Arbeitsflusses mit Git
  gerrit-sync: Wie die Synchronisierung zw. git-Repos und Mudlib ablaeuft
  git-links: Verweise ins WWW

