آزمایشگاه آزاد؛ بدون نیاز به ورود
شاخهسازی و ادغام تغییرها در گیت
دو نفر میتونن همزمان روی شاخههای جدا تغییر بدن. بعد از ادغام چه چیزی به تاریخچه اضافه میشه و چه وقت ممکنه تعارض پیش بیاد؟
آزمایش رو شروع کنبا ۵ ثبت پیش از جدا شدن شاخه، ۳ ثبت روی شاخهٔ ویژگی و ۲ ثبت همزمان روی اصلی شروع کن. در پنل بعضی برچسبها بهجای «ثبت» واژهٔ نادرست «کمیت» رو نشون میدن.
آزمایشگاه در حال آماده شدنه…
حالا خودت امتحان کن
هر بار فقط یک چیز رو تغییر بده تا اثرش رو ببینی. قبل از اجرا، نتیجه رو حدس بزن.
ثبتهای شاخهٔ ویژگی
تعداد ثبتهای اصلی، ثبتهای شاخه و ثبتهای همزمان رو بهترتیب روی ۵، ۳ و ۲ بذار و تعارض رو خاموش نگه دار؛ بعد فقط ثبتهای شاخه رو از ۳ به ۵ افزایش بده.
حدست چیه؟ ثبتهای بیشتر روی شاخهٔ ویژگی، تعداد کل و عمق شاخهٔ اصلی رو هر دو زیاد میکنن؟
توضیح نتیجه رو ببین
تعداد کل از ۱۱ به ۱۳ میرسه، چون دو ثبت به شاخه اضافه شده؛ عمق تاریخچهٔ اصلی در هر دو حالت ۸ میمونه. این مدل عمق مسیر اصلی رو میشمره و شاخهٔ ویژگی رو در اون عمق حساب نمیکنه.
تغییرهای اصلی در همین فاصله
ثبتها رو دوباره روی ۵، ۳ و ۲ بذار؛ حالا فقط ثبتهای همزمان روی شاخهٔ اصلی رو از ۲ به ۴ برسون.
حدست چیه؟ دو ثبت بیشتر روی شاخهٔ اصلی چه اثری روی تعداد کل و عمق اون شاخه میذارن؟
توضیح نتیجه رو ببین
تعداد کل از ۱۱ به ۱۳ و عمق تاریخچهٔ اصلی از ۸ به ۱۰ میرسه؛ هنوز یک ثبت ادغام هم شمرده شده. چون تعارض خاموشه، شمارندهٔ تعارض در هر دو حالت صفره.
تعارضها رو خود مدل انتخاب میکنه
تنظیمها رو روی ۵، ۳ و ۲ بذار؛ یک بار تعارض رو خاموش و بعد روشن کن و خروجی تعارض رو بخون.
حدست چیه؟ با روشن شدن گزینه، تعداد کل ثبتها عوض میشه یا فقط برآورد تعارض؟
توضیح نتیجه رو ببین
تعداد کل ۱۱ و عمق اصلی ۸ میمونه. شمارندهٔ «تعارض حلشده» از صفر به ۲ میره؛ این عدد از یک قاعدهٔ تقریبی مدل میآد و نتیجهٔ بررسی فایلهای واقعی نیست.
پشت این حرکت چه خبره؟
دو شاخه، دو مسیر تغییر
شاخهٔ اصلی و شاخهٔ ویژگی میتونن ثبتهای جدا داشته باشن. ادغام یک ثبت تازه میسازه تا نتیجهٔ ترکیب روی شاخهٔ اصلی ثبت بشه.
ثبت تغییر یعنی چی؟
total = main + feature + concurrent + 1
هر ثبت یک نقطه در تاریخچهٔ تغییرهاست. تعداد کل در این مدل از ثبتهای پیش از جدا شدن، ثبتهای هر دو شاخه و یک ثبت ادغام تشکیل میشه.
عمق اصلی با تعداد کل فرق داره
history_depth = main + concurrent + 1
عمق تاریخچه فقط مسیر شاخهٔ اصلی تا ثبت ادغام رو میشمره؛ ثبتهای شاخهٔ ویژگی به تعداد کل اضافه میشن، اما در فرمول این عمق وارد نمیشن.
تعارض از همپوشانی تغییرها میآد
دو ثبت همزمان بهتنهایی تعارض نمیسازن؛ معمولاً وقتی هر دو بخشهای ناسازگار یک فایل رو تغییر بدن، لازم میشه انتخاب کنی کدوم نتیجه بمونه. مدل فایل یا خط رو نمیخونه و تعارض واقعی رو پیدا نمیکنه.
سؤالت رو بپرس، جوابش رو هم ببین
وقتی توی چت دربارهٔ یک مفهوم درس میخونی، دستیار هوش مصنوعی میتونه شبیهسازی مرتبط رو کنار توضیحش نشون بده. پارامترها رو تغییر میدی و با کمک توضیح بعدی، نتیجه رو بهتر میفهمی.
شروع یادگیری با چتبرای ادامه در چت، وارد مسیر شروع و ورود میشی. نتیجهٔ این آزمایش به چت منتقل نمیشه.
نمونهٔ نمایشی از آموزش در چت
اگر هر دو شاخه ثبت جدید داشته باشن، حتماً تعارض پیش میآد؟
نه؛ دو شاخه میتونن فایلهای جدا یا بخشهای متفاوت رو تغییر بدن و بیتعارض ادغام بشن. این مدل فایلها رو نمیبینه و فقط با گزینهٔ تعارض یک برآورد آموزشی میسازه.
سؤالهای رایج
چرا تعداد کل بعد از ادغام یک واحد بیشتر میشه؟
این مدل یک ثبت ادغام جدا هم به ثبتهای اصلی و شاخه اضافه میکنه.
آیا دو ثبت همزمان یعنی تعارض؟
نه. تعارض معمولاً وقتی رخ میده که تغییرها در یک بخش با هم ناسازگار باشن؛ همزمان بودن بهتنهایی کافی نیست.
عدد تعارض از کجا میآد؟
از یک قاعدهٔ ساده بر پایهٔ تعداد ثبتهای شاخه و ثبتهای همزمان به دست میآد؛ مدل فایلها یا خطهای تغییرکرده رو بررسی نمیکنه.
چرا ثبتهای شاخه در عمق اصلی حساب نمیشن؟
عمق این خروجی فقط مسیر اصلی تا ادغام رو میشمره؛ ثبتهای شاخه در عدد کل شمرده میشن، نه در این مسیر.
چرا بعضی کنترلها «کمیت» نوشتهان؟
ترجمهٔ شبیهساز در این چند برچسب دقیق نیست؛ منظور تعداد ثبتهای تغییر در گیت است، نه کمیت ریاضی.