مقدمة#
أشهر خادم Git هو Github منذ يناير 2010، GitHub (في هذا الموقع يتم تخزين الكود العام ومجاني، رغم أنه يمكن القيام به بشكل خاص أيضا عن طريق إنشاء حساب مدفوع).
المستودع البعيد عادة ما يكون مستودع أساسي أدنى، مستودع Git بدون مجلد يعمل. لأن مثل هذا المستودع سيستخدم حصريا كنقطة تعاون، فلا معنى لوجود لقطة نشطة تعمل على القرص (عند الاستعانة)؛ يكفي أن نحتفظ ببيانات 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 - مقدمة، تركيب وتكوين (الجزء الأول)](/wp-content/uploads/2014/01/git_hu_368acdbe959d23d0.png)

