Action disabled: source
pri:git
جدول المحتويات
إدارة git
الأدوات
نحن نستخدم gitosis لإدارة الصلاحيات والمستودعات موجودة في الموجود في /home/gitosis/repositories لكن المستخدم gitosis ليس داخل chroot
ونستخدم cgit الموجود في /home/ojuba_org/cgit_public_html/ داخل chroot
ولقد أضفنا git-daemon
طريقة إضافة مشروع جديد
أولا نعمل git clone أو pull ل gitosis-admin.git وتعديل الصلاحيات وخيارات العرض. ثم git commit ثم git push
ثانيا عمل المستودع أو ال initial commit
repo=myproj mkdir $repo cd $repo git init git remote add origin gitosis@ojuba.org:${repo}.git # do some work, git add and commit files git commit -m 'initial commit' git push origin master:refs/heads/master
ثالثا: السماح cgit بعرضها وعمل about.html عبر تحرير
/home/ojuba_org/.unweb/cgitrepos.conf
يتم وضع صفحة about في
/home/gitosis/repositories/${repo}.git/info/web/about.html
وإن احتجنا للصور يمكن وضعها في
/home/ojuba_org/cgit_public_html/cgit-data/$repo/
رابعا: السماح ل git-daemon بتصديرها عبر وضع ملف
/home/gitosis/repositories/${repo}.git/git-daemon-export-ok
ويمكن عمل ذلك تلقائيا عبر تنفيذ
/home/admin/.unweb/git-export.sh
الانتقال إلى gitolite
cd hijra git pull git remote rm origin git remote add origin gitoj@ojuba.org:hijra.git git push origin master:refs/heads/master
بعدها يمكن التحقق من ذلك عبر
[alsadi@localhost hijra]$ git remote show origin * remote origin Fetch URL: gitoj@ojuba.org:hijra.git Push URL: gitoj@ojuba.org:hijra.git HEAD branch: master Remote branch: master tracked Local ref configured for 'git push': master pushes to master (up to date)
بعدها تم رفع ملف إعدادات جديد إلى gitolite-admin ثم تنفيذ السكربت التالي
- migrate.sh
#! /bin/bash for b in ../git-repos/*.git do bare=`basename "$b"` repo=`basename "$b" .git` [[ "$repo" == "gitosis-admin" ]] && continue git clone "$b" pushd $repo || exit 1 git remote rm origin git remote add origin gitoj@ojuba.org:$repo.git git push origin master:refs/heads/master git push --tags popd done
pri/git.txt · آخر تعديل: 2015/04/23 03:21 بواسطة 127.0.0.1