Método do Micro-Servidor do GitHub
Para fazer isso, você precisará de uma chave pública. Informações sobre como gerar um podem ser encontradas em toda a internet. Faça isso agora. Você precisará disso em um segundo. Você também precisará do pacote openssh-server
instalado.
Primeiramente, você precisa preparar o ambiente para o Git. Para fazer isso, você precisa criar um usuário.
sudo adduser git
su git
cd
mkdir .ssh
Este usuário fará todas as funções do Git. Você vai precisar da sua chave pública aqui. Basta executar:
cat /path/to/your/public/key.pub >> ~/.ssh/authorized_keys
chmod -R go= ~/.ssh
Agora, você tem o SSH e o usuário do Git completamente configurados. Agora, precisamos fazer um projeto do Git. Para fazer isso, execute estes comandos (ainda como usuário do Git):
cd ~
mkdir git
cd git
mkdir project.git
cd project.git
git --bare init
Você deve entrar e fazer os comandos acima toda vez que quiser fazer um novo repo. Mais detalhes depois. Eu prometo!
Agora você tem um servidor Git em funcionamento ao qual você pode se conectar! Você pode fazer todas as coisas divertidas que você gosta de fazer com o Git agora!
cd myproject
git init
git add .
git commit -m 'initial commit'
git remote add origin git@localhost:/home/git/git/project.git
git push origin master
É claro que você pode convidar outras pessoas em sua rede local para usar este servidor Git, desde que elas se conectem com seu IP local em vez de localhost
.
Agora, provavelmente, um projeto não é suficiente para você. Felizmente, existe uma maneira simples de adicionar / remover repos. Execute os seguintes comandos:
su git
cd ~/git
mkdir project_name.git
cd project_name.git
git --bare init
Depois, conecte-se ao outro repositório do Git quando precisar. Está tudo apenas mudando variáveis!
Você também pode (se quiser) ter uma interface web para o Git. Informações estão disponíveis na fonte oficial do GitHub.
Fonte para este guia: git-scm.com - É um ótimo lugar para aprender como iniciar um servidor Git. Comece de 4.4 (ligado) e siga em frente.
file:///
Método URI
Feh. Como @muru apontou em um comentário, o Git suporta o file:///
URI. Aqui está uma maneira de fazer isso sem nenhum usuário, mas sem mais micro-servidores, caso seus amigos venham jogar.
Como você:
cd ~
mkdir .git-projects
cd .git-projects
mkdir project.git
cd project.git
git --bare init
Para conectar:
cd myproject
git init
git add .
git commit -m 'initial commit'
git remote add origin file:///home/user/.git-project/project.git
git push origin master
Eu pessoalmente gosto mais do microserver. Você pode movê-lo mais fácil, esp. se você receber um VPS.
Comentários finais
O método do servidor SSH não permite salvar em um disco rígido externo (facilmente), mas o método file:///
faz isso. Apenas mude os caminhos!
Você poderia, teoricamente, tornar a casa do usuário "git" no disco rígido externo, mas isso poderia causar mais problemas do que benefícios.