Source Management
وقتی که با داده ها و اطلاعات کار میکنیم نیاز داریم که ابزاری باشد تا از کدها، اطلاعات و داده های ما تصویر برداری کند و زمانی که تغییری در آنها رخ می دهد این تغییر را برای ما مشخص کند و دوباره یک تصویر جدید از آن لحظه تولید کند.
فرض کنید دارید یک برنامه را بروز رسانی میکنید و ناگهان تمام برنامه خراب می شود و نمیدانید که مشکل دقیقا از کجا رخ داده است، در این شرایط اگر نتوانیم مشکل را پیدا کنیم بهتر است برنامه را از ابتدا بنویسیم، نه!! اگر تصویری از لحظه ی عملکرد سالم برنامه داشته باشیم که بتوانیم مجددا برنامه را به حالت قبل برگردانیم این کار را می کنیم! دیگر نیاز نیست که پروژه ی خود را در یک فولدر جداگانه با اسم های عجیب و غریب کپی کنید(مثل دیزاینرها و ادیتورها نباشید!) این احمقانه ترین راه برای مدیریت تغییرات و نسخه هاست.
سیستم های Source Management یا Version Control ابزاری هستند که کنترل برنامه در گذر زمان و بر اساس تغییرات را به عهده دارند. در سالهای ابتدایی برنامه نویسی Developer ها با شرایط دردناکی بدون این سیستم ها دست و پنجه نرم می کردند و انجام درست بسیاری از کارها برای آنها بسیار زمان بر و دشوار بود.
اولین Distributed Version Control System کاملا رایگان و متن باز Git نام داشت و پس از عرضه ی آن توسط تیم لینوکس، توسعه دهنده ها میتوانستند به سادگی کدهای خود را مدیریت کنند، آن ها را بهبود ببخشند، به تاریخچه ی برنامه ی خود دسترسی داشته باشند و به صورت تیمی روی یک code base کار کنند. پروژه های زیر جزو بزرگترین پروژه هایی هستند که از گیت استفاده می کنند:
- Windows kernel
- CPython
- Linux
- Git (خودتوسعه دهندگان هسته ی Git نیز برای مدیریت هسته ی خود از Git استفاده میکنند)
ابزار Git برای انواع پروژه ها در تمام ابعاد متناسب و ضروری است.