انتشار سیستم کنترل منبع توزیع شده Git 2.27

در دسترس انتشار یک سیستم کنترل منبع توزیع شده گیت 2.27.0. Git یکی از محبوب‌ترین، قابل اعتمادترین و با کارایی‌ترین سیستم‌های کنترل نسخه است که ابزار توسعه غیرخطی انعطاف‌پذیر مبتنی بر شاخه‌بندی و ادغام را ارائه می‌کند. برای اطمینان از یکپارچگی تاریخچه و مقاومت در برابر تغییرات ماسبق، از هش ضمنی کل تاریخچه قبلی در هر commit استفاده می‌شود؛ همچنین می‌توان تگ‌ها و تعهدات فردی را با امضای دیجیتالی توسعه‌دهندگان تأیید کرد.

در مقایسه با نسخه قبلی، نسخه جدید شامل 537 تغییر است که با مشارکت 71 توسعه دهنده تهیه شده است که 19 نفر از آنها برای اولین بار در توسعه شرکت کردند. پایه ای نوآوری ها:

  • فعال سازی پیش فرض اجرا شده در نسخه قبلی برگردانده شده است نسخه دوم پروتکل ارتباطی Git، که زمانی استفاده می شود که یک کلاینت از راه دور به یک سرور Git متصل می شود. به دلیل شناسایی مسائل لغزنده که نیاز به بررسی جداگانه دارند، پروتکل به طور پیش فرض هنوز برای استفاده آماده نیست.
  • مجموعه‌ای از گزینه‌ها برای راه‌اندازی اتصال SSL هنگام دسترسی از طریق پروکسی اضافه شده است.
  • اطلاعات نمایش داده شده هنگام استفاده از فیلترهای تبدیل "پاک" و "لکه" گسترش یافته است. به عنوان مثال، اکنون شی نشان داده شده است درختی، که در آن لکه ای که باید تبدیل شود ظاهر می شود.
  • برای جلوگیری از سردرگمی، دستور "git describe" اکنون همیشه از حالت خروجی توسعه یافته ("--long") استفاده می کند اگر یک برچسب جایگزین مرتبط با یک commit شناسایی شود (قبلاً یک برچسب امضا شده یا حاشیه نویسی که یک commit را توصیف می کند، خروجی بوده است، حتی اگر چنین باشد. تغییر نام داد یا در سلسله مراتب "refs/tags/" جابجا شد و دستور "git show tag^0" همانطور که انتظار می رفت کار نکرد - "refs/tags/tag" یافت نشد یا حتی یک تگ متفاوت برگردانده شد).
  • هنگام اجرای "git pull"، اکنون اخطاری صادر می شود مگر اینکه متغیر پیکربندی pull.rebase به صراحت تنظیم شده باشد و گزینه های "--[no-]rebase" یا "--ff-only" استفاده نشود. برای سرکوب هشدار برای کسانی که قصد انجام عملیات rebase را ندارند، متغیر را می توان روی false تنظیم کرد.
  • گزینه های "git pull" رایج در "git fetch" بررسی شده اند. گزینه‌های مشابهی که قبلاً ذکر نشده بود، مستند شده و گزینه‌های گمشده برای واکشی git ارسال می‌شوند.
  • گزینه "--no-gpg-sign" را به دستور "git rebase" اضافه کرد تا تنظیمات "commit.gpgSign" را لغو کند.
  • قابلیت "git format-patch" برای نمایش هدرهای "From:" و "Subject:" بدون تغییر، بدون تبدیل کاراکترهای غیرASCII اضافه شده است.
  • گزینه "-show-pulls" به "git log" اضافه شده است که به شما امکان می دهد نه تنها commit هایی را که در آنها تغییرات ایجاد شده است، بلکه همچنین commit برای ادغام این تغییرات را از یک شاخه جداگانه مشاهده کنید.
  • مدیریت یکپارچه ورودی تعاملی در تمام مؤلفه‌ها و افزودن فراخوانی به fflush() پس از نمایش اعلان ورودی، اما قبل از عملیات خواندن.
  • "git rebase" به شما این امکان را می دهد که بدون انجام یک عملیات "checkout" مجدداً تمام commit های محلی را اعمال کنید، حتی اگر برخی از آنها قبلاً upstream شده بودند.
  • متغیر پیکربندی «pack.useSparse» را به «true» تغییر داد تا بهینه‌سازی‌هایی که قبلاً به‌طور پیش‌فرض به عنوان آزمایشی تبلیغ می‌شدند فعال شود.
  • گزینه "--autostash" به "git merge" اضافه شد.
  • رابط "پراکنده پرداخت" بهبود یافته است.
  • چندین اکشن جدید به "git update-ref --stdin" اضافه شده است،
    امکان کنترل مستقیم تراکنش‌های به‌روزرسانی پیوند، برای مثال، برای پیاده‌سازی به‌روزرسانی‌های پیوند اتمی دو مرحله‌ای در چندین مخزن.

  • اضافه شدن الگوهای userdiff برای اسناد Markdown.
  • محدودیت حذف همه مسیرها در الگوهای پرداخت پراکنده که منجر به درخت کاری خالی می‌شود، برداشته شد.
  • عملیات "git restore --staged --worktree" اکنون به طور پیش فرض از محتویات شاخه "HEAD" به جای ارسال خطا استفاده می کند.
  • کار بر روی انتقال به الگوریتم هش SHA-2 به جای SHA-1 ادامه یافت.
  • کد تعامل با GnuPG دوباره کار شده است.

منبع: opennet.ru

اضافه کردن نظر