کنترل سورس، یکی از وظایف برنامه نویس به شمار میاد و بسیار هم مهمه. برنامه نویس(ها)ی که نتونه سورسهاش رو درست کنترل کنه، برنامه نویس موفقی نیست. حتی اگر این برنامه یک اسکریپت باشه ولی کاربرد بسیاری داشته باشه، نیاز هست که یک جوری کنترلش کرد 🙂
کنترل سورس غیر متمرکز از طریق گیت (Git) یکی از بهترین راهکارهای مدیریت سورس هست. شاید گیت، خدمتی بسیار بزرگ به بشریت هست. چون حتی میتونه برای مقاله نویسان ، مترجمان و … هم مفید باشه!
در ادامه ، یک سری از مزایا و معایب Git رو بررسی میکنیم:
- مناسب پروژه های بزرگ (ولی با Comitter های کم) : اگر یک پروژه صد نفر کامیتر داشته باشه، گیت اصلا مناسبش نیست. چون برای هر تغییری باید کل مخزن رو دانلود کنید و فشار زیادی هم به سرور و هم به کامپیوتر خودمون میاد. ولی اگر ۴ نفر کامیتر باشند، گیت خیلی مناسب تر هست. البته راه حل حالت اول چیزی مثل CVS یا SVN هست.
- همه چیز نرم افزار نیست!
درسته ، همه چیزهایی که روی گیت هستند ، نرم افزار نیستند. گرچه گیت برای کنترل سورسهای هسته لینوکس ساخته شده، ولی در اصل میتونه برای هر چیزی که تغییر پذیره استفاده بشه. مثلا من یک کتاب اوپن سورس رو مینویسم، خب طبیعی هست که فایلهایی مثل Doc, ODT یا TeX رو روی گیت قرار بدم تا بقیه هم در توسعش کمک کنند! - فقط سورس؟ دیدگاهتان اشتباه است!
به مثال قبلی فکر کنید، ممکنه من حتی اون کتاب رو نخوام اوپن سورس بنویسم، فقط دوست دارم از طریق گیت هاب قابل دانلود باشه، پس میتونم PDF نهایی رو روی سایتی مثل گیت هاب قرار بدم و به بقیه بگم از روی گیت هاب دریافتش کنند :). - زبان مارک داون :
مارک داون یک زبان بسیار باحال هست. فقط کافیه یک بار README.md های موجود در کانالهای گیت رو بازبینی کنید :).
خب در بالا چند تا از خوبی ها و بدی های گیت رو آوردم. در آینده هم سعی میکنم همه پروژه هام رو روی گیت بزارم :).
سلام. من همیشه مطالبت رو میخونم. و همیشه هم منتظرم مطالبت جامع تر باشه. البته دانشش رو داری، یه کم وقت بزاری میتونی خیلی پست های بهتری داشته باشی!
یه سوال: دعوت نامه های بیان هنوز در دسترسه!؟ 🙂
راستش من مطالبم رو زمانی میفرستم که یا خواب داره بهم فشار میاره یا کمر درد و چشم درد :).
ميگم بيان كسى خواست من ده تا دعوت نامه ى بلاگم دست نخوردست .
+ واسه پروژه هايى كه افراد زيادى مشاركت دارند چه چيزاى مناسب ديگه اى هست bzr مناسبه ؟ cvs چطوره ؟
بازار با گیت اصلا قابل مقایسه نیست. بازار فقط یک سرویس دهنده بزرگ داره (لانچپد) در صورتی که گیت هزاران سرویس دهنده خوب داره. CVS و SVN هم بیشتر برای پروژه های بزرگ با تعداد مشارکت کننده کم خوب هستن :).
براى تعداد مشاركت كننده ى زياد ؟
پیشنهاد شخصیم گیت هست. حالا شاید دلت بخواد از بازار یا زیرنسخه هم استفاده کنی! مهم نیست اصلا.
خود درگيرى داريا . :دى من كه چيزى نگفتم كه تو اين طورى ميگى ! من فقط سؤال كردم خواستم نظرتو بدونم . :دى :-“
آخه این تیپ سوالا دقیقا عین این میمونه که یکی بپرسه ویندوز 7 بهتره یا ویندوز 7 نوین پندار 😀
آخه چون گفتيد همشون واسه تعداد مشاركت كننده زياد نامناسبند پرسيدم كه ببينم چه چيزا مناسبى هست پس . :دى
ميگم اگه ميشه يه پستم در مورده اين فسيل بده :
http://www.fossil-scm.org/index.html/doc/trunk/www/index.wiki
باشه باید ببینم چی هست و چقدر میشه روش مانور داد 😉