git server - pierregermain/MyTux GitHub Wiki
Para instalar un servidor de git en linux debermos realizar los siguiente:
Instalar servidor de ssh
Para ello en Linux Mint / Ubuntu hacemos lo siguiente:
sudo apt-get install openssh-server
Para ver la IP de la computadora y probar la conexión usar ifconfig desde el servidor ssh.
Instalar el servidor de git
Primero instalamos los siguientes paquetes
sudo apt-get install git-core
Creación de usuario git
Recomiendo usar un usuario específico para git. Así cuando te conectes por ssh al servidor usas solo el home del usuario git. En Linux Mint y Ubuntu recomiendo usar la UI par dicha tarea. Si sólo tienes CLI puedes usar:
sudo useradd git
sudo passwd git
Creación de una llave para acceder al servidor
Desde tu máquina local creas una llave
ssh-keygen -t rsa
Dicha llave la dejas en el servidor del git:
Copiar ~/.ssh/id_rsa.pub desde tu máquina local a ~/.ssh/authorized_keys en el servidor del git.
Ahora prueba conectarte al servidor del git haciendo
ssh git@ip-del-servidor-git
Inicializar el servidor Git
Creamos carpeta
mkdir /home/git/temoa.git
cd /home/git/temoa.git
git init --bare
Inicializar el cliente Git
Creamos carpeta git
mkdir ~/webapps/temoa
cd ~/webapps/temoa
git init
Para añadir el servidor creado desde local hacemos
git remote add origin ssh://git@ip-del-servidor-git/home/git/temoa.git
Hacemos una pequeña prueba
echo test >> test.txt
git add test.txt
git commit -m "primer fichero"
git push origin master
Para bajar el repo desde cero
git clone git@ip-del-servidor-git:/home/git/temoa.git
Uso de Git Lab
Ver
https://www.linux.com/learn/how-run-your-own-git-server
Sincronizar con git lab
Desde el cliente
Ver si existe carpeta .ssh
cd ~/.ssh/
Si no existe generar llave pública
ssh-keygen
Falatria importar la llave en gitlab (desde la UI)
Generar usuario de git
git config --global user.name "mi-usuario"
git config --global user.email "[email protected]"
Generar carpeta del repositorio en local
mkdir ~/test
git init
git remote add origin [email protected]:nombre-org/nombre-proyecto.git
git clone [email protected]:nombre-org/nombre-proyecto.git
Sincronizar directorio actual sin borrar su contenido
cd /opt/lampp/htdocs
git init .
git remote add origin <repository-url>
git pull origin master
git add .
git commit -m "mensaje"
git push origin master