Setup private Git server
- Install Git
ssh myserver.com
sudo apt-get update
sudo apt-get install git-core
- Setup git user
sudo adduser git
sudo mkdir /home/git/.ssh
sudo cp ~/.ssh/authorized_keys /home/git/.ssh/
sudo chown -R git:git /home/git/.ssh
sudo chmod 700 !$
sudo chmod 600 /home/git/.ssh/*
- Using git user login to server with ssh,
ssh git@yourserver.com
- Create git repo on the server
mkdir myrepo.git
cd !$
git --bare init
- Push local code to server
git remote rm origin
git remote add origin git@yourserver.com:myrepo.git
# or use below line to replay above two lines, if you already have a remote origin url
git remote set-url origin git@yourserver.com:myrepo.git
git push origin master
git config branch.master.remote origin && git config branch.master.merge refs/heads/master
- Bonus points: Make SSH more secure
Edit the SSH config:
sudo vi /etc/ssh/sshd_config
And change the following values:
Port 2207
...
PermitRootLogin no
...
AllowUsers myuser git
...
PasswordAuthentication no
Where 2207 is a port of your choosing. Make sure to add this so your Git remote:
git remote add origin ssh://git@yourserver.com:2207/~/myrepo.git