[How to] Tutorial de Git – Repositorio propio (Parte 4)

Android Wol LAN

Introducción

El servidor más famoso de Git es Github Desde enero de 2010, GitHub (En este sitio el código se almacena de forma pública y gratuíta, aunque también se puede hacer de forma privada, creando una cuenta de pago).

Un repositorio remoto es normalmente un repositorio básico mínimo, un repositorio Git sin carpeta de trabajo. Debido a que dicho repositorio se va a utilizar exclusivamente como un punto de colaboración, no tiene sentido el tener una instantánea de trabajo (snapshot) activa en el disco (checkout); nos basta con tener solamente los propios datos Git. Básicamente, un repositorio básico mínimo son los contenidos de la carpeta ‘.git’, tal cual, sin nada más.

¿Porqué tener mi propio servidor?

  •  Acceder desde cualquier lugar
  • Gratuíto
  • Software Libre
  • Control total de código y accesos
  • Permite desarrollo colaborativo (Para esto no es imprescindible pero si muy recomendable)
  •  Todo el mundo enviará (push) y recibirá (pull) a o desde allí

¿Qué protocolo(s) elegir?

Comparativa JPG

CompresorTamaño (KB)
Original101
compressjpeg66
compressor.io60
jpegmini52
kraken.io59
Smush76

Más info http://git-scm.com/book/es/Git-en-un-servidor-Los-Protocolos

En mi opinión lo mejor es una combinación de varios de ellos para proveer todo tipo de acceso

¿Cómo lo instalo?

#CREAMOS LAS CLAVES SSH
cd ~/.ssh
# si no existen id_dsa  y id_dsa .pub
ssh-keygen 
#completamos lo que nos solicitan
#CREAMOS EL USUARIO GIT
sudo adduser git
su git
cd
mkdir .ssh
sudo cp ~/.ssh/id_rsa.pub /home/git
su git
cat ~/id_rsa.pub >> ~/.ssh/authorized_keys
exit
#LA PRIMERA VEZ
#Hacemos un repositorio local
cd ~
mkdir my_project
cd my_project
git init
cd ~
git clone --bare my_project my_project.git

#PONER EL REPOSITORIO EN EL SERVER
scp -r my_project.git [email protected]:/media/DATOS1
#permisos en el directorio a git
cd /media/DATOS1/my_project.git

#DAR PERMISOS A GIT SOLO PARA COSAS DE GIT
#Para una mayor protección, puedes restringir facilmente el usuario 'git' a realizar solamente actividades relacionadas con Git
which git-shell
#anotar resultado
sudo nano /etc/passwd
#En la linea parecida a
#git:x:1000:1000::/home/git:/bin/shgit:x:1000:1000::/home/git:/bin/sh
#sustituir /bin/sh por el resultado de "which git-shell"
#Ctrl + o , Ctrl +x

#SUCESIVAS VECES PARA CREAR UN NUEVO REPOSITORIO
cd /media/DATOS1/
mkdir project2.git
cd project2.git
git --bare init

#CLONAR REPOSITORIO(otro usuario)
git clone [email protected]:/media/DATOS1/my_project2.git
#Clonar repositorio SmartGit
git clone ssh://[email protected]:/media/DATOS1/my_project2.git

En mi caso he elegido el protocolo SSH pero podéis utilizar cualquier otro en adición, a continuación os dejo un enlace a un tutorial en el que se explica

Haz click AQUÍ para continuar.

 

Deja un comentario