Hinweis: Sie sind auf den Seiten der Moodle 2.0 Dokumentation. Die Dokumentation der aktuellsten Moodle-Version finden Sie hier: Git für Administratoren.

Git für Administratoren: Unterschied zwischen den Versionen

Aus MoodleDocs
Wechseln zu:Navigation, Suche
Keine Bearbeitungszusammenfassung
 
(2 dazwischenliegende Versionen von einem anderen Benutzer werden nicht angezeigt)
Zeile 1: Zeile 1:
{{Installation}}
{{Installation}}


{{Zum Übersetzen}}
Die empfohlene Vorgehensweise ist Git ('''Achtung''': Bis jetzt ist noch nicht die gesamte Moodle-Code-Entwicklung auf dieses Versionierungssystem umgezogen!). Dieser Artikel beschreibt, wie Sie Moodle auf Ihrem Produktivserver über Git aktualisieren. Wenn Sie eigene Codeanpassungen haben, folgen Sie den Anleitungen in diesem Artikel [[:en:Development:Quick Git start guide for Moodle development|Quick Git start guide for Moodle development]] (englisch).
Die empfohlene Vorgehensweise ist Git ('''Achtung''': Bis jetzt ist noch nicht die gesamte Moodle-Code-Entwicklung auf dieses Versionierungssystem umgezogen!). Dieser Artikel beschreibt, wie Sie Moodle auf Ihrem Produktivserver über Git aktualisieren. Wenn Sie eigene Codeanpassungen haben, folgen Sie den Anleitungen in diesem Artikel [[Development:Quick Git start guide for Moodle development|Quick Git start guide for Moodle development]] (englisch).


Um Git effektiv nutzen zu können, sollten Sie die wichtigsten Konzepte verstanden haben (siehe Quellenangaben im Abschnitt ''Siehe auch''). Das kann einen gewissen Einarbeitsaufwand erfordern, insbesondere wenn Sie bisher mit CVS oder Subversion gearbeitet haben.  
Um Git effektiv nutzen zu können, sollten Sie die wichtigsten Konzepte verstanden haben (siehe Quellenangaben im Abschnitt ''Siehe auch''). Das kann einen gewissen Einarbeitsaufwand erfordern, insbesondere wenn Sie bisher mit CVS oder Subversion gearbeitet haben.  
Zeile 15: Zeile 14:
Hier beschreiben wir die kommandozeilen-basierte Version von Git. Grafische Benutzeroberflächen sind letztendlich nur Hüllen, darunter verbirgt sich ebenfalls die Kommandozeilenversion.
Hier beschreiben wir die kommandozeilen-basierte Version von Git. Grafische Benutzeroberflächen sind letztendlich nur Hüllen, darunter verbirgt sich ebenfalls die Kommandozeilenversion.


Das offizielle Moodle Git Repository finden Sie unter http://git.moodle.org/gw?p=moodle.git;a=summary (ein offizieller Clone liegt unter https://github.com/moodle/moodle). Um einen lokalen Checkout zu initialisieren, verwenden Sie folgende Befehle
Das offizielle Moodle Git Repository finden Sie unter git://git.moodle.org/moodle.git (ein offizieller Clone liegt unter git://github.com/moodle/moodle.git). Um einen lokalen Checkout zu initialisieren, verwenden Sie folgende Befehle
<pre>
<pre>
$ git clone http://git.moodle.org/moodle.git                       (1)
$ git clone git://git.moodle.org/moodle.git                       (1)
$ cd moodle
$ cd moodle
$ git branch -a                                                    (2)
$ git branch -a                                                    (2)
Zeile 28: Zeile 27:
* Befehl (4) stellt auf den neuen lokalen Zweig um.  
* Befehl (4) stellt auf den neuen lokalen Zweig um.  


Note that Git has a huge number of options for each command and it's actually possible to do the above process with a single command (left as an exercise!!).
Beachten Sie, dass Git eine Vielzahl von Optionen für jeden einzelnen Befehl bereitstellt. U.a. können Sie die obigen Befehle durch geeignete Optionen in einen einzigen Befehl packen.


==Git from behind a firewall==
==Git hinter einer Firewall==
Git verwendet ein proprietäres Protokoll, dass von Ihrer Firewall blockiert werden könnte (Port 9418). Wenn das ein Problem ist, dann können Sie die Github-HTTP-Version unter  <nowiki>https://github.com/moodle/moodle.git</nowiki> verwenden. Sie ist etwas langsamer, verwenden Sie also wenn möglich das Git-Protokoll.


Git uses a proprietary protocol and it may be blocked by your firewall (port 9418). If this is a problem, you can use Github's http version <nowiki>https://github.com/moodle/moodle.git</nowiki>. It's a bit slower, so use the Git protocol if you can.
==Installation aktualisieren ==
Das Moodle-Entwickler-Team führt Integrationen und Tests für behobene Fehler immer montags und dienstags durch. Mittwochs können Sie alle neuen Patches installieren, indem Sie Ihren Code aktualisieren. Prüfen Sie unter [http://git.moodle.org/gw?p=moodle.git;a=summary Shortlog], ob das offizielle Repository aktualisiert wurde.


== Updating your installation ==
Um Ihren Code auf die neueste Version zu aktualisieren (auf einem MOODLE_22_STABLE Branch) müssen Sie nur folgende Befehle ausführen:
 
The Moodle development team performs integration and testing of fixed bugs every Monday and Tuesday. On Wednesday you can install all patches by updating your code. Check the [http://git.moodle.org/gw?p=moodle.git;a=summary shortlog] to see if the official repository has been already updated or not.
 
To update your code to the latest version (on the MOODLE_22_STABLE branch) '''all''' you have to do is:
<pre>
<pre>
$ cd /path/to/your/moodle/
$ cd /path/to/your/moodle/
$ git pull
$ git pull
</pre>
</pre>
If this is a production site you should still consider the [[Upgrade]] instructions (e.g. take backups).
Wenn es sich um ein Produktiv-System handelt, beachten Sie bitte die Sicherheithinweise im Artikel [[Aktualisierung von Moodle]] (Erstellen von Sicherungskopien der Moodle-Site).
 
== Installing a contributed extension from its Git repository ==


This is one way to handle adding plugins from other Git repositories into your Moodle repository. Another way is to use Git Submodules. However, at the time of writing, this is one of Git's rougher features and should be regarded as an advanced option.  
==Ein Plugin über das Git Repository installieren==
Im folgenden wird ein Weg beschrieben, wie Sie ein Plugin aus einem anderen Git Repository in Ihr Moodle Repository hinzufügen. Eine andere Möglichkeit ist die Verwendung von Git Submodules (nur für Fortgeschrittene!).


For example, let us say we want to install the [[Book module]] form its Git repository into our Moodle 2.2.
'''Beispiel''': Angenommen, Sie wollen das Buch-Modul aus dem Git Repository in Ihr Moodle 2.2 installieren:
<pre>
<pre>
$ cd /path/to/your/moodle/
$ cd /path/to/your/moodle/
Zeile 58: Zeile 54:
$ git branch -d master                                            (4)
$ git branch -d master                                            (4)
</pre>
</pre>
The command (1) changes the current directory into the ''mod'' folder of your local Moodle clone. The command (2) creates a new subdirectory ''book'' and makes a local clone of Petr Škoda's vanilla Book repository. The command (3) creates a new local branch that will track the remote branch with a Book version for Moodle 2.1. The command (4) deletes the ''master'' that was created automatically by git-clone in (2) as we do not want it in this production checkout.
Befehl (1) wechselt in das ''mod'' Unterverzeichnis Ihres lokalen Moodle Repositorys. Befehl (2) legt ein neues Unterverzeichnis ''book'' an und erstellt einen lokalen Clone von Petr Škoda's vanilla Book Repository. Befehl (3) legt einen neuen lokalen Zweig an, der dem Remote branch von Book für Moodle 2.2. folgt. Befehl (4) löscht den Master, der automatisch durch das git-clone-Kommando in Befehl (2) angelegt wurde, weil wir dies im Produktiv-Checkout nicht wollen.


Now it is wise to put the new directory mod/book/ to the list of ignored files of the main Moodle clone, otherwise a status of the main clone will keep reminding you that the new code has not been checked in.
Es empfiehlt sich, das neue Verzeichnis ''mod/book/'' zur Liste der ignorierten Dateien im Haupt-Moodle-Clone hinzuzufügen, andernfalls erinnert Sie der Status des Haupt-Clones ständig daran, dass der neu Code nicht eingecheckt wurde: 
<pre>
<pre>
$ cd /path/to/your/moodle/
$ cd /path/to/your/moodle/
$ echo /mod/book/ >> .git/info/exclude
$ echo /mod/book/ >> .git/info/exclude
</pre>
</pre>
To update your Moodle installation now, you must visit both Git repositories and pull changes from upstream.
 
Um Ihre Moodle-Installation zu aktualisieren, müssen Sie beide Git Repositories besuchen und Aktualisierungen von Remote ziehen:
<pre>
<pre>
$ cd /path/to/your/moodle/
$ cd /path/to/your/moodle/
Zeile 72: Zeile 69:
$ git pull
$ git pull
</pre>
</pre>
Writing a shell script with these lines in the root of Moodle installation is a very good idea. Otherwise it is easy to forget what Git repositories are there within the main Moodle repository.
Sie können diese Befehle in einem Shell-Skript im Wurzelverzeichnis der Moodle-Installation hinterlegen.


== Siehe auch ==
== Siehe auch ==

Aktuelle Version vom 16. Juni 2012, 10:32 Uhr


Die empfohlene Vorgehensweise ist Git (Achtung: Bis jetzt ist noch nicht die gesamte Moodle-Code-Entwicklung auf dieses Versionierungssystem umgezogen!). Dieser Artikel beschreibt, wie Sie Moodle auf Ihrem Produktivserver über Git aktualisieren. Wenn Sie eigene Codeanpassungen haben, folgen Sie den Anleitungen in diesem Artikel Quick Git start guide for Moodle development (englisch).

Um Git effektiv nutzen zu können, sollten Sie die wichtigsten Konzepte verstanden haben (siehe Quellenangaben im Abschnitt Siehe auch). Das kann einen gewissen Einarbeitsaufwand erfordern, insbesondere wenn Sie bisher mit CVS oder Subversion gearbeitet haben.


Git (Windows, OSX, Linux)

  • Eine Download-Liste für verschiedene Betriebssysteme finden Sie auf der Git-Seite http://git-scm.com/download.
  • Wenn Sie Git heruntergeladen und auf Ihrem System installiert haben, sollten die im folgenden beschriebenen Befehle funktionieren.

Moodle-Code über Git holen

Hier beschreiben wir die kommandozeilen-basierte Version von Git. Grafische Benutzeroberflächen sind letztendlich nur Hüllen, darunter verbirgt sich ebenfalls die Kommandozeilenversion.

Das offizielle Moodle Git Repository finden Sie unter git://git.moodle.org/moodle.git (ein offizieller Clone liegt unter git://github.com/moodle/moodle.git). Um einen lokalen Checkout zu initialisieren, verwenden Sie folgende Befehle

$ git clone git://git.moodle.org/moodle.git                        (1)
$ cd moodle
$ git branch -a                                                    (2)
$ git branch --track MOODLE_22_STABLE origin/MOODLE_22_STABLE      (3)
$ git checkout MOODLE_22_STABLE                                    (4)
  • Befehl(1) initialisiert das neue lokale Repository als einen Clone des Remote moodle.git Repository. Das Remote Repository wird standardmäßig als Quelle bezeichnet. Es legt ein neues Verzeichnis moodle an, in das alle Dateien heruntergeladen werden. Dieser Prozess kann eine Weile dauern, weil die gesamte Historie aller Moodle-Versionen mit gezogen wird.
  • Befehl (2) listet alle verfügbaren Zweige (branches) auf.
  • Mit Befehl (3) legen Sie einen neuen lokalen Zweig (Branch) an, der MOODLE_22_STABLE heißt, und setzen diesen Zweig so, dass er dem Remote branch MOODLE_22_STABLE vom Remote Repository folgt.
  • Befehl (4) stellt auf den neuen lokalen Zweig um.

Beachten Sie, dass Git eine Vielzahl von Optionen für jeden einzelnen Befehl bereitstellt. U.a. können Sie die obigen Befehle durch geeignete Optionen in einen einzigen Befehl packen.

Git hinter einer Firewall

Git verwendet ein proprietäres Protokoll, dass von Ihrer Firewall blockiert werden könnte (Port 9418). Wenn das ein Problem ist, dann können Sie die Github-HTTP-Version unter https://github.com/moodle/moodle.git verwenden. Sie ist etwas langsamer, verwenden Sie also wenn möglich das Git-Protokoll.

Installation aktualisieren

Das Moodle-Entwickler-Team führt Integrationen und Tests für behobene Fehler immer montags und dienstags durch. Mittwochs können Sie alle neuen Patches installieren, indem Sie Ihren Code aktualisieren. Prüfen Sie unter Shortlog, ob das offizielle Repository aktualisiert wurde.

Um Ihren Code auf die neueste Version zu aktualisieren (auf einem MOODLE_22_STABLE Branch) müssen Sie nur folgende Befehle ausführen:

$ cd /path/to/your/moodle/
$ git pull

Wenn es sich um ein Produktiv-System handelt, beachten Sie bitte die Sicherheithinweise im Artikel Aktualisierung von Moodle (Erstellen von Sicherungskopien der Moodle-Site).

Ein Plugin über das Git Repository installieren

Im folgenden wird ein Weg beschrieben, wie Sie ein Plugin aus einem anderen Git Repository in Ihr Moodle Repository hinzufügen. Eine andere Möglichkeit ist die Verwendung von Git Submodules (nur für Fortgeschrittene!).

Beispiel: Angenommen, Sie wollen das Buch-Modul aus dem Git Repository in Ihr Moodle 2.2 installieren:

$ cd /path/to/your/moodle/
$ cd mod                                                          (1)
$ git clone git://github.com/skodak/moodle-mod_book.git book      (2)
$ cd book
$ git checkout -b MOODLE_22_STABLE origin/MOODLE_22_STABLE        (3)
$ git branch -d master                                            (4)

Befehl (1) wechselt in das mod Unterverzeichnis Ihres lokalen Moodle Repositorys. Befehl (2) legt ein neues Unterverzeichnis book an und erstellt einen lokalen Clone von Petr Škoda's vanilla Book Repository. Befehl (3) legt einen neuen lokalen Zweig an, der dem Remote branch von Book für Moodle 2.2. folgt. Befehl (4) löscht den Master, der automatisch durch das git-clone-Kommando in Befehl (2) angelegt wurde, weil wir dies im Produktiv-Checkout nicht wollen.

Es empfiehlt sich, das neue Verzeichnis mod/book/ zur Liste der ignorierten Dateien im Haupt-Moodle-Clone hinzuzufügen, andernfalls erinnert Sie der Status des Haupt-Clones ständig daran, dass der neu Code nicht eingecheckt wurde:

$ cd /path/to/your/moodle/
$ echo /mod/book/ >> .git/info/exclude

Um Ihre Moodle-Installation zu aktualisieren, müssen Sie beide Git Repositories besuchen und Aktualisierungen von Remote ziehen:

$ cd /path/to/your/moodle/
$ git pull
$ cd mod/book
$ git pull

Sie können diese Befehle in einem Shell-Skript im Wurzelverzeichnis der Moodle-Installation hinterlegen.

Siehe auch

Moodle Docs:


Diskussionsbeiträge auf moodle.org:


Externe Quellen: