تیک۴

گیت چیست؟ لزوم استفاده از Git

گیت چیست؟
گیت چیست؟ لزوم استفاده از Git

گیت چیست؟

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

امروز می خواهیم در مورد نرم افزار کدبازی(Open Source) بنام گیت صحبت کنیم.
این نرم افزار به تیم تان اجازه می دهد که بصورت همزمان بر روی یک پروژه کار کنید ، در عین حال مشکل و تداخلی نیز برای پروژه شما پیش نمی آید.
البته نرم افزار گیت کارهای بیشتری هم انجام می دهد.

گیت چیست؟

چرا باید از یک نرم افزار کنترل نسخه استفاده کنیم؟

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

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

خوبی این نوع سرویس این است که توسعه دهندگان مختلفی می توانند بر روی یک پروژه کار کنند و هر تغییر نیز به نام همان توسعه دهنده ثبت می گردد.
بدی این سرویس هم این است که اگر سرور مورد نظر با مشکل مواجه شود ، دیگر امکان اعمال تغییر در بانک اطلاعات مرکزی وجود ندارد و اگر اطلاعات بانک اطلاعات مرکزی از بین برورد ، توسعه دهندگان تنها آخرین نسخه از کد های خود را در اختیار خواهند داشت.

روش دیگری نیز وجود دارد. روشی که به آن سیستم کنترل نسخه توزیع شده یا Distributed version control systems می گویند.
در این روش دیگر توسعه دهندگان تنها آخرین نسخه تغییرات را ندارند بلکه بسته کاملی از تغییرات ثبت شده را در اختیار دارند.
هر توسعه دهنده همیشه یک نسخه کامل از فایل ها را به همراه تغییرات مربوطه در اختیار دارد.
نرم افزار کنترل نسخه مرکزی همچنان استفاده می شود اما اگر زمانی سرور مرکزی با مشکل مواجه شود و اطلاعات از بین برود ، از طریق این سیستم یک نسخه بک آپ از تمامی فایل ها و تغییرات از طریق یکی از توسعه دهنده گان که آخرین تغییرات را دارد بر روی سرور بارگذاری می شود.
اگر در نسخه ای چند فایل هیچ تغییری نکند ، گیت بجای بارگذاری آن فایل ، آن را به نسخه قبل لینک می کند.
با این کار سرعت عملکرد این سرویس بسیار افزایش می یابد.

گیت هاب(Github) چیست؟

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

چند شاخه شدن (Forking & Branching)
این موارد از مفاهیم پایه ای گیت می باشند.

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

توسط Branching نیز توسعه دهندگان تائید شده می توانند بدون اینکه به کد اصلی آسیبی برسد مشکلات آن را برطرف کنند و پس از برطرف کردن آن نسخه اصلاح شده را در نسخه اصلی اعمال کنند.
امیدوارم بصورت کلی با مفاهیم گیت (Git) آشنا شده بشید. از این پس تنها کافیست در وب سایت github.com عضو شوید و مقداری با این سرویس کار کنید تا با جزئیات آن در عمل آشنا شوید.
در ضمن اگر یک سرویس گیت که مخزن محرمانه (Private Repository) را بصورت رایگان در اختیار شما قراردهد ، هستید می توانید به سرویس bitbucket.org سری بزنید.
البته این سرویس متاسفانه تا این زمان که در حال نوشتن این مقاله هستم در ایران فیلتر است و تنها با فیلتر شکن در دسترس است.

خروج از نسخه موبایل