Git 2.56 בדרך — והשחרור הבא עשוי להיות Git 3.0
Git 2.56 נמצא בשלב מועמד לשחרור וכולל יותר מ-700 קומיטים. במקביל שוקל המתחזק ג'וניו האמאנו אם השחרור הבא יהיה Git 3.0 המיוחל, עם המעבר ל-SHA-256 ול-reftable.
Git 2.56 בשלב מועמד לשחרור
שחרור Git 2.56 צפוי לקראת סוף ספטמבר 2026, והוא זמין כעת כמועמד לשחרור. הוא כולל יותר מ-700 קומיטים שאינם קומיטים של מיזוג, וכפי שכותב ג'ונתן קורבט מ-LWN, הוא מביא שורה של שיפורים מבורכים בלי לשנות מהיסוד את חוויית השימוש ב-Git.
התוספת המעניינת ביותר היא תת-הפקודה drop בארגז הכלים git history, שעדיין נחשב ניסיוני: הפקודה git history drop commit-id מסירה קומיט מסוים מההיסטוריה של הענף הנוכחי ומשחזרת מחדש את כל הקומיטים שנוספו אחריו. הפקודה עדיין מסרבת לפעול אם ההיסטוריה מכילה קומיטים של מיזוג, ולכן אינה שמישה לרבים מהמאגרים.
שינויים בנוחות השימוש
הפקודה git status תציע כעת להריץ git pull כדי לעדכן ענף שמפגר אחרי הענף שהוא עוקב אחריו. הפקודה git refs, שפועלת ברמה נמוכה, קיבלה תת-פקודות חדשות — create, delete, update ו-rename — שעושות בדיוק את מה שהשמות שלהן מבטיחות.
האפשרות החדשה --delete-merged של git branch מסירה ענפים מקומיים שכבר מוזגו לענפים המרוחקים שהם עוקבים אחריהם. git add קיבלה אפשרות --resolved שמצרפת רק קבצים שקונפליקטי המיזוג שלהם נפתרו.
מה אחרי 2.56: שאלת Git 3.0
בתחילת ספטמבר שאל מתחזק Git, ג'וניו האמאנו, את הקהילה אם השחרור הבא צריך להיות 3.0, או שמא דרושים עדיין שחרורים נוספים בסדרת 2.x. השאלה חשובה משום ש-3.0 יביא עמו שבירות תאימות; הגדולה שבהן היא המעבר לברירת מחדל של גיבוב SHA-256 במקום SHA-1.
תמיכה לא-ניסיונית ב-SHA-256 קיימת ב-Git מאז גרסה 2.42 ב-2023, אך היעדר התמיכה באתרי האחסון הגדולים עיכב את השינוי: GitLab תומך בה מאז 2024, גם Forgejo, והיוצא מן הכלל הבולט הוא GitHub.
בריאן מ. קרלסון, עובד GitHub ומפתח מרכזי במעבר, אמר שחדשות בנושא בדרך, ושהשחרור הבא ראוי להיות 3.0. הוא גם רוצה ש-Git ידחה מזהי אובייקטים באותיות גדולות לפני 3.0, משום שהתייחסות ל-f00f00 ול-F00F00 כאל אותו קומיט גרמה לבאגים ולפרצות אבטחה.
שינוי נוסף שממתין ל-3.0 הוא המעבר ל-reftable, פורמט בינארי לאחסון הפניות שהוצג ב-Git 2.45; המנגנון מבוסס הקבצים נעשה לא יעיל ככל שמספר ההפניות גדל, ומאגר Android מכיל יותר מ-800,000 מהן. תוכנות אחרות שקוראות מאגרים צריכות להדביק את הפער: קרלסון ציין את libgit2 כחשש, ופטריק שטיינהארדט כבר הוסיף תמיכה ב-reftable שם. הפרויקט גם מתכוון להפוך את Rust לחובה לבניית Git, מה שיותיר פלטפורמות בלי מהדר Rust עובד בלי יכולת לשדרג.
קרלסון טען שאין לתת לחששות האלה לעכב את השחרור, ומאגרים שמשתמשים ב-SHA-1 ובלי reftable ימשיכו להיות נתמכים במלואם. האמאנו טרם הודיע על החלטה, ותיאר את התהליך במילים: "זה לא תחרות פופולריות ואפילו לא דמוקרטיה". אם 3.0 לא ייצא ב-2026, הוא יגיע זמן קצר לאחר מכן.
SiTech — פיתוח אתרים בכוח ה-AI
אנחנו בונים אתרים מהירים ומודרניים ומשלבים AI בתהליכי עבודה אמיתיים. יש לכם פרויקט או שאלה? נשמח לעזור.