مقدمه
چرا به یک برنامه کنترل نسخه (version control) نیاز داریم
در مواجهه با پروژهها و مسائل پیچیدهتر در دنیای برنامهنویسی، گاهی در موقعیتی قرار میگیریم که راهحل مسئله برای ما واضح نیست و ناچار به آزمون و خطا میشویم. ممکن است در شرایطی قرار بگیریم که به بنبست خورده و بخواهیم به عقب برگردیم و راهحل دیگری را انتخاب کنیم، اما میدانیم که Ctrl + Z فقط تا حد محدودی میتواند به ما کمک کند. در برخی موارد، ممکن است کارفرما درخواست اعمال تغییری در پروژه را داشته باشد. در این شرایط، آیا تغییرات را روی همان نسخه اصلی اعمال میکنید؟ حال تصور کنید که پس از انجام تغییرات، کارفرما از نتایج راضی نباشد و بخواهد به نسخه قبلی بازگردد. در این وضعیت، چه باید کرد؟
یک راهحل آسان برای این مسئله، نگهداشتن نسخههای مختلف از پروژه پس از هر تغییر است تا هر زمان که به مشکلی برخوردیم، بتوانیم به نسخههای قبلی بازگردیم. اما این روش، هم فضای زیادی اشغال میکند و هم با بزرگتر شدن پروژه، پیچیدگی بسیاری به همراه دارد؛ چرا که نیازمند مدیریت نسخههاست تا بدانیم هر نسخه متعلق به کدام مرحله از کارمان بوده است.
راهحل مناسب برای این موضوع، استفاده از گیت و گیتهاب است.