
גיט 2.52 זמין כעת כעדכון יציב למערכת בקרת גרסאות מבוזרת פופולרית זו. הגרסה מגיעה עם תכונות חדשות, התאמות תחזוקה ושיפורי ביצועים תוצאה של עבודתם של יותר מ-94 משתפי פעולה, 33 מהם בפעם הראשונה בפרויקט.
בין השינויים הבולטים ביותר נמנים פקודות משנה חדשות לחקירת מאגרים, זרימת עבודה חכמה יותר לתחזוקה והתקדמות לקראת המעבר ל-SHA-256. כל זה מסופק בגישה עקבית וצנועה, עם גישה פרקטית שמנהלים מאגרים בגדלים שונים.
פקודות חדשות ב-git 2.52 לחקר מאגרים
החידוש הבולט ביותר הוא git last-modifiedנועד להשיג ביעילות את ה-commit האחרון שנגע בכל נתיב. במאגרים עם ערכים רבים, גישה זו מונעת מעברי היסטוריה חוזרים ונשנים וניתן להשתמש בה. מהיר פי כמה משרשור ls-tree + logעל פי בדיקות פנימיות, צמצום זמנים משניות למילישניות בתרחישים אמיתיים.
מנוע last-modified הוא פותח במשך שנים ב-GitHub תחת השם עץ האשמהמאכילים את "האשמתם" ברמת העץ מאז 2012. לאחר מכן, מהנדסי גיטלאב הם ליטשו את ערכת התיקונים כדי לשלב אותה ב-Git 2.52, למרות שעדיין יש תכונות להוסיף, כמו... פורמט דיסק לתוצאות במטמון מהוצאות להורג קודמות.
גם הניסיוני מגיע git repoמטריה להתייעצות עם תכונות מאגר. עם git repo info האם אתה יכול לדעת אם זה חשוף o רדוד, הפורמט של אובייקטים והפניות, ועם git repo structure מודפסים סטטיסטיקה מבנית (ספירות commit, עצים, כתמים, ענפים, תגיות וכו'). יתר על כן, info משלב את האפשרות המקוצרת -z ומסוגל דווח על פורמט האובייקט בשימוש.
למי שעובד ברמה נמוכה עם המלצות, git refs Suma git refs list (שם בדוי של git for-each-ref) ו git refs exists (דומה ל git show-ref --existsהם לא מציעים יכולות חסרות תקדים, אבל הם מרכזים פעולות תכופות של הפניות תחת פקודה אחת.
קטן אך שימושי: עכשיו git cmd --help-all זה גם עובד מחוץ למאגרזה מאפשר גישה קלה לעזרה גלובלית מבלי שיהיה צורך לאתחל דבר.
תחזוקה וביצועים
גיט 2.52 מציג משימה geometric דנטרו git maintenance זה נמנע מאריזות מחדש של הכל באחד במידת האפשר ומסיר אובייקטים בלתי נגישים בתדירות נמוכה יותר. המשימה בודקת את החבילות כדי ליצור סדרה גיאומטרית לפי מספר עצמים ולדחוס ללא גיזום בעת הצורך; אם הפעולה תסתיים באריזה אחת, יש לבצע git gc שלם לאיחוד וגיזום.
מבחינת מהירות, ישנן התקדמות מדידה: git describe כעת הוא משתמש בתור עדיפות ומרוויח בערך תשואה של 30%; git remote rename אופטימיזציה של שינוי שם של הפניות; git ls-files זה שומר על פיזור המדד במקרים רבים יותר; git log -L זה מונע הבדלים מסוימים ברמת העץ במיזוגים, מה שמאיץ את הניתוח; והספרייה xdiff הוא משלב מספר אופטימיזציות אשר שיפורי ה-Difflation וה-Misonge ברמת הקובץ.
אבטחה ומפת דרכים ל-Git 3.0
המעבר מ-SHA-1 ל-SHA-256 נמשך. האלמנטים הראשונים של SHA-256 מופיעים בגרסה 2.52. יכולת פעולה הדדית בין אלגוריתמיםהמטרה היא לאפשר למאגרים עם קוד גיבוב שונה להחליף שינויים בצורה חלקה. זו עדיין עבודת יסוד, אבל היא סוללת את הדרך לגרסה הגדולה הבאה.
שינוי נוסף שתוכנן עבור Git 3.0 הוא שענף ברירת המחדל ייקרא "main". שינוי זה נכלל מאז גרסה 2.52. רמזים והודעות עזרה כדי להקל על השינוי הזה, וכל מי שרוצה להתקדם יכול לקמפל עם הדגל WITH_BREAKING_CHANGES כדי לבחון התנהגויות מתוכננות.
זה כולל גם, כאופציה, קוד חלודה המוגן על ידי WITH_RUSTאשר מיישם קידוד/פענוח של מספרים שלמים ברוחב משתנה. בגרסה זו זה לא חובה ו-Git 2.52 עובד ללא מהדר Rust, אבל צפוי ש-Git 3.0 ידרוש זאת ולהרחיב את הקטעים שנכתבו מחדש.
שיפורים בזרימות עבודה ובשימושיות
השימוש ב מסנני Bloom עם שינוי נתיבמסנן הסתברותי שמאיץ מסעות כאשר הם מצטמצמים על ידי מסלולים. כעת הם משמשים גם כאשר ה מפרט נתיבים contiene תווים כלליים חלקיים (למשל, foo/bar/*/baz) ובתרחישים עם מספר מסלולים מעניינים, דבר המועיל לשאילתות כמו אלו של last-modified וכמה פקודות היסטוריה.
git sparse-checkout הוסף את הפעולה clean כדי לפתור מקרים בהם, כאשר הגדרת תחומי העניין משתנה, קבצים נותרים מחוץ לבחירה. בצעד אחד, ניתן לנקות את עץ העבודה של אלמנטים לא רצויים.
תוספות שימושיות נוספות: משתנה חדש commitGraph.changedPaths להפעלה כברירת מחדל --changed-paths en git commit-graphאפשרות stash.index עבור git stash pop/apply מתנהג כאילו הוא מופעל באמצעות --index; git diff-tree מקבלת --max-depth; git fast-import עכשיו מנהל תוויות חתומות; ו git repo info למד כיצד לדווח על פורמט אובייקט בנוסף לתמיכה ב- -z.
זמינות גיט 2.52
ניתן להוריד את קוד המקור של Git 2.52 מאתר האתר הרשמי כדי לקמפל אותו באופן מקומי. הוא אמור להגיע בימים ובשבועות הקרובים. מאגרים של ההפצות העיקריות ל-GNU/Linux באירופה (דביאן, אובונטו, פדורה, openSUSE, Arch וכו') כבר יש מנהלים כמו Homebrew, MacPorts או Chocolatey, עם זמני האריזה הרגילים.
עם גרסה זו, גיט מחזקת את הפעילות היומיומית שלה עם פקודות מהירות ושימושיות יותרשגרת תחזוקה יעילה יותר ואבני הבניין הראשונות של המעבר ל-SHA-256 נמצאות כעת ב-"main" כסניף ברירת המחדל. אלו שמשדרגים יכולים כעת לבדוק זאת. git last-modifiedהחדש git repoהמשימה הגיאומטרית של git maintenance ושאר ההתאמות שבלי להשמיע קול, מחליקות את החוויה במאגרים קטנים וענקיים כאחד.