منبع اصلی نوشتار زیر در این لینک قرار دارد

راهنمای git قسمت دوم

این قسمت دوم این راهنما هست برای دیدن قسمت اول به اینجا بروید.

توی این مدت ۲ تا کنفرانس خیلی خوب در مورد گیت که توسط google پر شده پیدا کردم که به دردتون میخوره و حتما پیشنهاد می کنم ببینید: اولیش اینجا هست که لینوس توروالدز (آغاز کننده ی پروژه ی گیت و کرنل لینوکس) صحبت می کنه دومی هم اینجا هست.

برای کار گروهی نیاز به یک سرور دارین که یه گیت رو به عنوان repository روی اون نصب کنین و بقیه ی افراد تغییرات مورد نظرشون رو روی اون بذارن. برای این کار در سرور یه فولدر بسازین و دستور زیر رو توش بزنین: git init --bare توجه کنین که برای repository حتما باید bare رو استفاده کنید.

حالا توی لوکال باید از پروژه یه clone بگیرین:به فولدر مورد نظر در لوکال بروید و دستور زیر رو بزنید: git clone ssh://USER@HOST/PATHTOGIT و پس از اتمام مراحل فایل هایی که می خواهین توی پروژه بذارین رو در همین فولدری که ساخته شد قرار دهید. سپس commit کنید و با دستور زیر اون ها رو به سرور بفرستید: git push origin master حالا به طور گروهی هر نفر از گروه می تونه از پروژه clone کنه و روی اون کار کنه. ممکنه وقتی شما اقدام به push کردن می کنین با خطای زیر مواجه بشین: ! [rejected] branchname -> branchname (non-fast forward) error: failed to push some refs to \'user@HOST:FOLDERTOGIT\'

شما باید قبلا از push تغییرات رو از سرور دریافت کنین: git pull origin master

اگر طراحی وب کار میکنید و میخواین سایت هاتون رو روی وب بذارین و با git اون ها رو آپدیت کنین(البته به طور کلی اگه میخواین یه work dir بسازین که سورس کد هاتون توی سرور توی یه فولدر نشون داده بشن)مراحل زیر رو انجام بدین:

پس از این که گیت رو روی سرور نصب کردین و ریپوزیتوری را ایجاد کردید باید آن را کانفیگ کنید:

با استفاده از دستور git config مقادیر زیر را سِت کنید:

git config core.bare false
git config core.worktree /PATHTOWORKTREE/.

git config receive.denyCurrentBranch ignore

git config core.logAllRefUpdates true

PATHTOWORKTREE آدرس فولدری هست که میخواین تو سرور فایل ها قرار بگیرن مثلا /var/www/project .

مهم: به نقطه ‘.’ بعد آخر خط اول دقت کنید. این نقطه فراموش نشود.

تمام تنظیماتی که انجام می دهید در فایل config درون ریپوزیتوری تان ذخیره میشود که میتوانید در صورت اشتباه انجام دادن کانفیگ آن را ویرایش کنید.

الآن باید کاری کنیم که وقتی به سرور push کردیم به طور خودکار git دایرکتوری مورد نظر توی سرور رو آپدیت کنه.

git دارای hook هایی هست که برای اعمال مختلفی از جمله وقتی push رو انجام میدیم تعریف شده. ما تنها کاری که باید بکنیم باید بریم اون hook رو دستکاری کنیم.

فایل hooks/post-receive رو در ریپوزیتوری بسازید و آن را به صورت زیر ویرایش کنید: #!/bin/sh
git checkout -f master
خوب حالا باید این فایل رو با دستور زیر executable کنیم: chmod +x hooks/post-receive الآن هر باری که به سرور push کنید دایرکتوری آپدیت میشه. فقط نکته ای که هست باید دایرکتوری مورد نظرتون وجود داشته باشه و git بتونه توش بنویسه

برای استفاده ی گیت بر روی ویندوز از برنامه ی msysgit می تونید استفاده کنید. نرم‌افزار های مدیریت گیت: برای مدیریت گیت به صورت گرافیکی نرمافزار های متفاوتی نوشته شده از جمله ی اون ها می توان به qgit , gitk, gitview اشاره کرد. این برنامه ها واسط های گرافیکی شما با گیت هستند که به راحتی می تونید تغییرات ثبت شده در پروژه رو مشاهده کنین. من توی این مقاله سعی کردم کلیات ماجرا رو بگم و یه راهنمایی مختصری کرده باشم به هر حال شما برای کار با برنامه باید کتابش رو بخونین.



برچسب ها : , ,