Git im CS-Netz: Unterschied zwischen den Versionen
(Git) |
|||
(8 dazwischenliegende Versionen von 5 Benutzern werden nicht angezeigt) | |||
Zeile 1: | Zeile 1: | ||
− | Dieser Artikel beschreibt wie man die Versionskontrolle namens '''Git''' im cs-Netz einrichtet und für weitere User bereitstellt. Es werden ''grundlegende Unix-Kenntnisse'' vorausgesetzt. | + | {{Vorlage:Historisch}} |
+ | |||
+ | Dieser Artikel beschreibt wie man die Versionskontrolle namens '''Git''' im cs-Netz einrichtet und für weitere User bereitstellt. Es werden ''grundlegende Unix-Kenntnisse'' vorausgesetzt. Zum Einrichten von Git im tubIT-Netz siehe [[Git im tubIT-Netz]]. | ||
== Git Software einbinden == | == Git Software einbinden == | ||
Zeile 8: | Zeile 10: | ||
mkdir foo.git && cd foo.git | mkdir foo.git && cd foo.git | ||
git init --bare | git init --bare | ||
− | Anschließend können eine Gruppe erstellt, die Benutzerrechte angepasst und andere User in die Gruppe eingeladen werden. ( | + | Anschließend können eine Gruppe erstellt, die Benutzerrechte angepasst und andere User in die Gruppe eingeladen werden. (genauere Anleitung auf [[Diskussion:Git_im_CS-Netz|Diskussionsseite]]). |
+ | |||
== Administrator: Erste Schritte == | == Administrator: Erste Schritte == | ||
Der folgende Abschnitt wird auf dem Rechner des Administrators ausgeführt. Das gerade erstellte Git Repository kann nun mit Inhalt gefüllt werden. '''User''' und '''remotehost''' müssen durch den cs-usernamen bzw. einen cs-Rechner ersetzt werden. | Der folgende Abschnitt wird auf dem Rechner des Administrators ausgeführt. Das gerade erstellte Git Repository kann nun mit Inhalt gefüllt werden. '''User''' und '''remotehost''' müssen durch den cs-usernamen bzw. einen cs-Rechner ersetzt werden. | ||
Zeile 50: | Zeile 53: | ||
http://git-scm.com | http://git-scm.com | ||
− | + | alternativ: [[Subversion im CS-Netz]] | |
− | |||
− | [[ |
Aktuelle Version vom 15. Oktober 2012, 13:10 Uhr
Dieser Artikel spiegelt sehr wahrscheinlich nicht mehr den aktuellen Stand wider, könnte aber trotzdem von Interesse sein.
Dieser Artikel beschreibt wie man die Versionskontrolle namens Git im cs-Netz einrichtet und für weitere User bereitstellt. Es werden grundlegende Unix-Kenntnisse vorausgesetzt. Zum Einrichten von Git im tubIT-Netz siehe Git im tubIT-Netz.
Inhaltsverzeichnis
Git Software einbinden
Git ist auf den cs-Rechnern in /opt/csw/bin verfügbar und erfordert die Anpassung der PATH Variablen (z.B. PATH="/opt/csw/bin":$PATH ) Falls dies nicht mehr der Fall sein sollte, kann Git in das Home-Verzeichnis installiert werden.
Remote Repository erstellen
Um ein Remote Repository names foo im Home-Verzeichnis auf einem cs-Rechner zu erstellen, wird ein Git-Verzeichnis (Konvention: Suffix git) erstellt und initialisiert:
mkdir foo.git && cd foo.git git init --bare
Anschließend können eine Gruppe erstellt, die Benutzerrechte angepasst und andere User in die Gruppe eingeladen werden. (genauere Anleitung auf Diskussionsseite).
Administrator: Erste Schritte
Der folgende Abschnitt wird auf dem Rechner des Administrators ausgeführt. Das gerade erstellte Git Repository kann nun mit Inhalt gefüllt werden. User und remotehost müssen durch den cs-usernamen bzw. einen cs-Rechner ersetzt werden.
mkdir foo && cd foo git init ... git add . git commit -a -m "Initial commit" git push ssh://user@remotehost/home/user/foo.git master
Somit ist das remote Repository eingerichtet und der aktuelle Branch ist master (head).
User
Erste Schritte
Als erstes wird eine Kopie des Repositorys erstellt:
git clone ssh://user@remotehost/home/user/foo.git
Anschließend kann man die Konfigurations-Datei .git/config ändern, um kürzere Befehle benutzen zu können. Die Datei sollte so aussehen:
[core] repositoryformatversion = 0 filemode = true bare = false logallrefupdates = true [remote "origin"] url = ssh://user@remotehost/home/user/foo.git fetch = +refs/heads/*:refs/remotes/origin/* [branch "master"] remote = origin merge = refs/heads/master [user] name = user email = user@example.com
Arbeiten mit dem Git-Repo
Holt die Änderungen des Remote Repositorys:
git pull
Sendet die Veränderungen an das Remote Repository:
git push
Zeigt den Commit-Log an
git log
Zeigt noch nicht gespeicherte Änderungen an:
git diff
Links
alternativ: Subversion im CS-Netz