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

K (Änderung 17090 rückgängig gemacht: Workshop ist vorbei)
K (Historischer Artikel)
Zeile 1: Zeile 1:
 +
{{Kategorie: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.
 
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.
  
Zeile 52: Zeile 54:
  
 
alternativ: [[Subversion im CS-Netz]]
 
alternativ: [[Subversion im CS-Netz]]
 
 
[[Kategorie: Fakultäts-ABC]]
 
[[Kategorie: Überleben im Fakultätsnetz]]
 

Version vom 2. April 2012, 22:28 Uhr

Kategorie: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.

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