Sitzung: Jeden Freitag in der Vorlesungszeit ab 16 Uhr c. t. im MAR 0.005. In der vorlesungsfreien Zeit unregelmäßig (Jemensch da?). Macht mit!

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. (TODO: genauere Anleitung).
+
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]]
[[Kategorie: Fakultäts-ABC]]
 
[[Kategorie: Überleben im Fakultätsnetz]]
 

Aktuelle Version vom 15. Oktober 2012, 13:10 Uhr

History Lesson!
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.

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

http://git-scm.com

alternativ: Subversion im CS-Netz