راه اندازی سرور git
اول از همه باید گیت رو نصب کنید.
اگر از Debian یا Ubuntu استفاده می کنید ، پکیج های لوکال را آپدیت و با اجرای دستورات زیر به عنوان کاربر sudo باید git را نصب کنید.
1 | sudo apt update && apt install git && apt install git-core |
برای نصب بسته git در نوع سرورهای CentOS :
1 | sudo yum install git && sudo yum install git-core |
بعد از نصب روی سرور این دستورات رو خط به خط وارد می کنید:
1 2 3 4 5 6 7 8 9 10 | adduser git_user usermod -a -G domains git_user chmod 775 /home/domains/example.ir su git_user cd ~ mkdir repo cd repo git --bare init cd hooks cp post-update.sample post-update |
نکته: منظور از git_user اون کاربری هستش که می خواهید با هاش git رو راه اندازی کنید.
بعد با دستور زیر فایل post-update را ویرایش می کنیم:
1 | nano post-update |
کد های فایل رو با کد های زیر جایگزین کنید و ذخیره اش کنید:
1 2 | #exec git update-server-info GIT_WORK_TREE=/home/git_user/public_html git checkout -f |
سپس دستور زیر را وارد کنید:
1 | chmod +x post-update |
خوب الآن نوبت به سیستم شما رسیده
اول از همه باید git رو روی سیستم خودتون نصب کنید.
حالا داخل پوشه ای که می خواهید گیت رو متصل کنید، راست کلیک کنید و روی git bash بزنید تا محیط کنسول گیت برای شما باز شود.
برای اینکه بتوانید تغییرات git محلی را به سرور Git انتقال دهید ، ابتدا کلید عمومی SSH کاربر محلی خود را از طریق در دستورات زیر در محیط کنسول گیت بدست آورید.
1 2 | ssh-keygen -t rsa -b 4096 -C "your_email@domain.com" cat ~/.ssh/id_rsa.pub |
نمونه کلید عمومی ssh:
1 | ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAACAQDd/mnMzHwjUzK8g3ldfsfRpJuC16mhWamaXRk8ySQrD/dzpbRLfDnZsLxCzRoq+ZzFHGwcQlJergtergdHGRrO8FE5jl3IWRRp+mP12qYw== your_email@domain.com |
در سرور فایل authorized_keys
با دستور زیر باز کنید و کلید عمومی را در آن ذخیره کنید:
1 2 | nano ~/.ssh/authorized_keys chmod 0644 ~/.ssh/authorized_keys |
نکته: کل متن کلید عمومی باید در یک خط واحد باشد.
اگر یک پروژه غیر قابل مشاهده موجود دارید ، به فهرست پروژه بروید. اگر از ابتدا شروع می کنید ، فهرست پروژه را ایجاد کنید:
1 | cd /path/to/local/project |
راه اندازی مخزن اولیه git
1 | git init |
مرحله آخر اتصال به سرور git:
1 | git remote add origin ssh://git_user@ip_server:port/~/repo |
می توانید با دستورات زیر اتصال را تست کنید:
1 2 3 4 | touch test_file git add . git commit -m "descriptive message" git push -f origin master |
اگر همه چیز درست تنظیم شده باشد ، خروجی باید چیزی شبیه به این باشد:
1 2 3 4 5 6 | Counting objects: 3, done. Writing objects: 100% (3/3), 218 bytes | 218.00 KiB/s, done. Total 3 (delta 0), reused 0 (delta 0) To ip_server:port:/~/repo * [new branch] master -> master Branch 'master' set up to track remote branch 'master' from 'origin'. |
برای افزودن یک همکار جدید ، کافی است کلید عمومی SSH خود را در پرونده کاربر «git» ~/.ssh/authorized_keys
کپی کنید.
برای ایجاد مخازن جدید می توانید از همان مراحل استفاده کنید. توجه به این نکته ضروری است که مخزن از راه دور قبل از اضافه کردن گیت از راه دور به مخزن محلی شما باید وجود داشته باشد.