داشتن ورژنهای مختلف فایلهای هر پروژه نرم افزاری و یا هر پروژه دیگری از قبیل فایل های یک کتاب که در حال نگارش است و هر فایل یا مجموعه فایل دیگری، حتی در پروژههای فردی نیز امری مطلوب به نظر میرسد که فواید و کاربردهای خاص خود را دارد که البته این موضوع در پروژههای گروهی نه فقط مطلوب بلکه لازم و ضروری است.
گیت هاب (github) یک شبکهی اجتماعی در فضای ابری برای برنامهنویسان، یک پلتفورم همکاری برای توسعهدهندگان و بزرگترین فضای ذخیرهسازی برای پروژه های تیمی است. شما میتوانید پروژه خود را روی آن قرار دهید و تغییرات خود را روی آن اعمال کنید و همکارانتان را به این پروژه اضافه کنید تا در هر جایی به آن دسترسی پیدا کنند.
نرمافزارهای مدیریت کد (source control) به طور کلی به دو دسته توزیع شده (distributed) و متمرکز (centeralized) تقسیم میشوند که هر کدام از آن ها ویژگی های خاص خود را دارند.