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