# کنترل نسخه
برای اینکه بتونیم با همدیگه رو یه پروژه کار کنیم و به طور موازی چند کار رو پیش ببریم و به طور کلی تاریخچه کارهامون رو نگه داریم از ابزارهای کنترل نسخه مثل Git استفاده میکنیم.
ویدویی برای یادگیری گیت آماده شده که میتونید از اینجا دریافتش کنید.
علاوه بر اون میتونید از این لینک به صورت تعاملی جلو برید و یاد بگیرید کار باهاش رو.
در رابطه با متن کامیت لاگ و اینکه از چه conventionی پیروی کنی هم این لینک رو بخون.
# تمرین
درباره gitignore مطالعه کنید و چند مورد از استفادش رو تو پروژههای مختلف (مثلاً اونایی که از npm استفاده کردن) رو ببینید.
فرض کنید رو یک برنچ در حال کد زدن هستید، برنچ مستر قبل از اینکه شما برنچتون رو با مستر مرج کنید تغییر میکنه، چطوری میتونید تغییرات مستر رو به کدتون اضافه کنین بدون اینکه کدهای خودتون به مشکل بخوره؟ اگه چند راه وجود داره بهترینش چیه به نظرتون؟ (مفاهیم rebase و stash رو مطالعه کنید).
ببینید چه جوری میشه کد الآنتون رو با کد یکی از کامیتهای قبلی مقایسه کنید و به طور کلی چه طور میشه دو کامیت رو با هم مقایسه کرد؟
چطوری میتویند قبل از کامیت یه سری از فایلهایی که تغییر دادین رو به حالت اولیشون برگردونید؟(و نه همهی فایلها رو)
یکم با markdown آشنا بشین و سعی کنید یه README.md بنویسین، چند README خوب هم از پروژههای opensource بخونین و سعی کنید ساختار خوبی تو ذهنتون شکل بگیره.
# برای مطالعه
- این مقاله یه سری اصول و استاندارد در مورد متن کامیت مسیجهاست.
- خوبه دربارهی semantic versioning در مهندسی نرمافزار مطالعه کنی. یک روش رایج هست که ما نسخههای پروژههامون رو طبق این استاندارد نامگذاری میکنیم: https://semver.org