Git چیست ؟

یک سیستم مدیریت نسخه انشعابی ( distributed version control system) خنده ، خوب چیزی دستگیرتون نشد ؟ پس اینطور بگم ، اگر از اون دست از برنامه نویسان هستید که مدام در حال تغییر دادن کدهاتون هستید و بعد از تصمیمی که گرفتید پشیمون میشید در حالی که راه بازگشتی به گذشته وجود نداره ، Git برای شما ساخته شده است.

کاری که Git برای شما انجام خواهد داد ، بررسی هرگونه تغییر در کدهاتون و ذخیره تمامی حالات کدهاتون در طول توسعه پروژه خواهد بود. یعنی اضافه شدن تاریخچه برای هر کدام از فایل های که اراده کنید.

چرا Git ؟

اگر قبلا با سیستم های مدیریت نسخه کار کرده باشید احتمالا باید اسم چندین نرم افزار که این کار رو برای شما انجام می دهند، بلد باشید. اما Git چه چیز جدیدی برای ارائه کردن داره ؟

اصلی ترین تفاوتی که Git با دیگر سیستم های مدیریت نسخه مثل Subversion داره منشعب بودن اون هست به این معنی که شما می توانید در کنار داشتن یک نسخه مرکزی ، به ازای هر تعداد درخواست ، تمام پروژه رو به صورت محلی در کامپیوتر های توسعه دهنده ها داشته باشید.

یعنی با وجود اینکه برای پروژه های گروهی ساخته شده اما به دلیل توزیع شده بودنش به خاطر مشکلات احتمالی واسه سروری که پروژه در اون نگه داری میشه ، فرآیند توسعه پروژه متوقف نمیشه و همیشه در دسترس خواهد بود.و در زمانی که ارتباط با سرور دوباره میسر باشه می تونید تمام نسخه های دست هر توسعه دهنده رو با نسخه مرکزی همسان سازی کنیم (تغییرات که تو این مدت روی پروژه اعمال کردیم را روی نسخه سرور اعمال کنیم )!

و تازه همین بس که نرم افزار مدیریت نسخه که برای پروژه توسعه هسته لینوکس استفاده میشه همین Git هست.

نصب و راه اندازی

طبق معمول نصب در لینوکس به راحتی و تنها با یک خط دستور انجام میشه (می توانید از این راهنما برای نصب بر روی توزیع های مختلف استفاده کنید) :

sudo apt-get install git

اما برای نصب در ویندوز ؛ به آدرس زیر بروید و نسخه مناسب سیستم خودتون رو دانلود کنید :

http://git-scm.com/downloads

پس از دانلود و نصب نرم افزار (چه در لینوکس و چه در ویندوز) ، نوبت به کانفیگ کردن ابتدایی Git هست برای اینکار از دستورات زیر استفاده می کنیم :

git config --global user.name "Mojtaba Asg."

git config --global user.email "mojtaba.asg@mail.com"

دیگه کاملا مشخه که به جای اسم و ایمیل من باید اطلاعات خودتون رو وارد کنید خنده ، این هم کاملا مشخص هست که در توزیع لینوکس در Shell یا ترمینال و در ویندوز هم در CMD باید این دستورات رو بزنید.شما می تونید با نصب یک افزونه به نام Git GUI Extension کار با Git رو به صورت گرافیکی انجام بدید که البته پیشنهاد می کنم به خاطر خوب یادگرفتن در اوایل کار با همون رابط متنی (CMD,Terminal,Shell) کار کنید تا وقتی که حرفه ای بشید.

تبریک میگم بهتون شما صاحب یک نسخه Git شدید. به همین سادگی !

در آینده

در قسمت بعدی نحوه Lunch (آغاز) کردن یک پروژه با Git رو یاد میگیریم به اضافه یکسری دستورات کاربردی دیگه.