How To: Git als Server installieren und einrichten

SYSTEM
21.06.2014 23:23:45
aptitude install git-core

sudo adduser --system --shell /bin/bash --group --disabled-password --home /home/git git



git@server: sudo su - git
git@server: cd /home/git
git@server: mkdir .ssh
git@server: touch .ssh/authorized_keys
git@server: chmod 600 .ssh/autorized_keys

user@laptop: ssh-keygen
-- user@laptop: ssh-copy-id USER@HOST.TLD
user@laptop: scp -p 2222 ~/.ssh/id_rsa.pub vagrant@127.0.0.1:/tmp/

user@laptop: ssh -P 2222 vagrant@127.0.0.1 / vagrant ssh git
vagrant@server: sudo chown git /tmp/id_rsa.pub
vagrant@server: sudo su - git
git@server: less /tmp/id_rsa.pub >> /home/git/.ssh/authorized_keys

git@server:~$ mkdir demoproject.git
git@server:~$ cd demoproject.git
git@server:~/demoproject.git$ git --bare init

nun checken (pullen) wir das eben angelegte leere repo auf dem client aus:

user@client: git clone ssh://git@127.0.0.1:2222/~/repositories/demoproject.git
Klone nach 'demoproject'...
warning: Du scheinst ein leeres Projektarchiv geklont zu haben.
Checking connectivity... done

user@client: cd demoproject
user@client:~/demoproject/$ git config --global user.email user@mustermann.de
user@client:~/demoproject/$ git config --global user.name Max Mustermann

nun testen wir das anlegen und korrekte commiten (pushen) von änderungen:

user@client:~/demoproject/$ echo "demoproject" > readme.txt
user@client:~/demoproject/$ git add readme.txt
user@client:~/demoproject/$ git commit -am "Anlegen einer testdatei!"
[master (Basis-Version) 4592eb1] anlegen einer neuen datei
1 file changed, 1 insertion(+)
create mode 100644 readme.txt

login für git deaktivieren

root@server: usermod -s /usr/bin/git-shell git