Введение#
Самый известный Git-сервер — Github С января 2010 года, GitHub (на этом сайте код хранится публичном и бесплатно, хотя это также можно сделать частно, создав платный аккаунт).
Удалённый репозиторий обычно представляет собой минимальный базовый репозиторий, репозиторий Git без рабочей папки. Поскольку такой репозиторий будет использоваться исключительно как точка совместной работы, нет смысла иметь активный рабочий снимок на диске (checkout); достаточно просто иметь сами данные Git. По сути, минимально базовый репозиторий — это содержимое папки ‘.git’ в том виде, как есть, без чего-либо ещё.
Зачем иметь свой собственный сервер?#
- Доступ из любой точки
- Бесплатно
- Свободное программное обеспечение
- Полный контроль кода и доступа
- Позволяет совместную разработку (для этого это не обязательно, но настоятельно рекомендуется)
- Все будут толкать и добираться туда или обратно
Какой протокол(ы) выбрать?#
Больше информации http://git-scm.com/book/es/Git-en-un-servidor-Los-Protocolos
На мой взгляд, лучший вариант — это комбинация нескольких из них, обеспечивающая всевозможный доступ
Как его установить?#
#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 ruben0909@192.168.1.130:/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 ruben0909@192.168.1.130:/media/DATOS1/my_project2.git
#Clonar repositorio SmartGit
git clone ssh://ruben0909@192.168.1.130:/media/DATOS1/my_project2.gitВ моём случае я выбрал протокол SSH, но вы можете использовать любой другой, ниже я оставляю ссылку на обучающий материал, в котором это объясняется


![[Как] Git Tutorial — введение, установка и настройка (Часть 1)](/wp-content/uploads/2014/01/git_hu_368acdbe959d23d0.png)

