Git הוא אחד ממערכות בקרת הגרסאות הנפוצות ביותר, המתוארות על ידי מפתחים ברחבי העולם כשירות VCS מספר אחת. הוא פועל רק מסוף, אבל כמה חזיתי זמינים להורדה.
זהו גרסה חופשית וקוד פתוח גרסה יישום מערכת שיכול לטפל בשני פרויקטים גדולים וקטנים עם יעילות מקסימלית ומהירות. התוכנית יכולה להיות מתוארת בקלות כמו להיות קטן, מהיר ומופץ.
אפשרויות שורת פקודה
התוכנית מגיעה עם קומץ פקודות שניתן לזכור בקלות על ידי כל אחד מן get-go. כל הפעולות מתבצעות באופן מקומי, והן תוכננו לעבוד על ליבת הלינוקס.
פקודות כלול להוסיף, bisect, סניף, checkout, להתחייב, הבדל, אחזור, grep, init, יומן, מיזוג, mv, למשוך, לדחוף, rebase, reset, rm, הצג, מצב, תג. אתה יכול בקלות ללמוד מה עושה כל פקודה על ידי הפעלת הפקודה git --help מחלון מסוף.
תכונות במבט אחד
בעת שימוש ב- Git, משתמשים יוכלו להוסיף קבצים, קופות או נתיבי קופה, מאגרי שיבוט, ליצור ריפים ריקים של Git, להצטרף להיסטוריות פיתוח מרובות, להציג את מצב העץ העובד, לשנות שינויים, וכן ליצור, לרשום או למחוק סניפים.
בנוסף, היישום מאפשר למשתמשים להציג שינויים בין מחויבות לעצים עובדים, קווי הדפסה התואמים תבנית, להציג יומני להתחייב, להוריד refs ואובייקטים, שינוי שם או להעביר קבצים, סיממלינקים וספריות, עדכון refs מרחוק, ולהסיר קבצים מעץ עובד.
קיימים קצות קדמיות גרפיים שונים
גם אם היא תוכנה של שורת פקודה בלבד, ממשקי משתמש גרפיים שונים (GUI) זמינים, כולל git-cola, SmartGit, GitEye, צחקוק ו- gitg. הפרוייקט מסווג את שירותי ה- SCM (Software Configuration Management), כגון CVS, Subversion, ClearCase ו- Perforce, על-ידי קיבוץ מקומי זול, זרימות עבודה מרובות ואזורי הזנה נוחים.
שורה תחתונה
סיכום, Git היא גרסה חופשית של מערכת בקרה המופיעה במהירות הבזק ביצועים, קל ללמוד, ויש לו טביעת רגל קטנה מאוד. עם Git ניתן לבצע מיתוג הקשר ללא חיכוך, קווי קוד מבוססי תפקידים, זרימת עבודה מבוססת תכונות וניסוי חד פעמי.
מה חדש במהדורה זו:
- פונקציית עוזר לקרוא שורה שלמה אחת לתוך שגיאת OOM מופעלת בטעות ב- EOF בתנאים מסוימים, שתוקנה.
- בנוסף ל- & quot; cc: # cruft & quot ;, & quot; cc: a@dd.re.ss # cruft & quot; נלמד ל & quot; git send-email & quot; כדרך תקפה לומר כי זה צריך גם לשלוח עותק פחמן אל בסעיף הקרוואן.
- תקן רגרסיה ל- & quot; gitk -bisect & quot; על ידי עדכון עדכני.
- שלא כמו & quot; git התחייבות עץ & lt; קובץ & quot ;, & quot; git להתחייב-עץ -F קובץ & quot; לא העביר את תוכן התיק במילה ובמקום זה השלים קו לא שלם בסוף, אם קיים. זה האחרון עודכן כדי להתאים את ההתנהגות של לשעבר.
- & quot; git archive & quot ;, במיוחד כאשר נעשה שימוש עם pathspec, מאוחסן ספרייה ריקה בפלט שלה, למרות ש- Git עצמה אף פעם לא עושה זאת. זה תוקן.
- הגהה של שגיאות ממשק API, שקורה גם לאזהרות של GCC.
- & quot; git gc & quot; מנסה למנוע הפעלת שני מקרים בו זמנית על ידי קריאה וכתיבה pid / host מ לקובץ נעילה; הוא נהג להשתמש בפורמט fscanf () שגוי בעת קריאה, אשר תוקן.
- ליטר הבדיקה נלמד כי אנחנו לא אוהבים & quot; הד-& quot ;.
- קוד cmp.std.c nitpick.
- & quot; git description --match & quot; למד לקחת דפוסי מרובים בסדרה v2.13, אבל התכונה התעלמה הדפוסים אחרי הראשון ולא עובד בכלל. זה תוקן.
- & quot; git cat-file --textconv & quot; התחיל להתבשל לאחרונה, שתוקנה.
- התבנית המובנית לזיהוי כותרת הפונקציה & quot; & quot; עבור HTML לא תואם .. אלמנטים ללא כל תכונות, אשר תוקן.
- & quot; git mailinfo & quot; היה רופף פענוח ציטוט אשפה ניתן להדפיס כאשר שני אותיות לאחר סימן שווה הם לא הקסדצימלי. זה תוקן.
- התיעוד של '-X' עבור מיזוגים נכתב בטעות כדי להצביע על כך ש- & quot; -s שלהם & quot; קיים, וזה לא המקרה.
- לאיית את שם המערכת שלנו בתור & quot; Git & quot; בתפוקה של סקריפט בקשת בקשה.
- תיקונים עבור בעיות גישה בזיכרון בזיכרון שזוהו על ידי valgrind.
- Backports שווה ערך מוסרי של 2015 לתקן את הדמיית הסקר מן gnulib במעלה כדי לתקן מפעם לפעם על HPE NonStop.
- ב & quot; - פורמט = ... & quot; האפשרות של & quot; git for-ref-& quot; (וחבריו, כלומר, מצב הרישום של ענף & quot; git / תג & quot;), & quot;% (atom:) & quot; (למשל: & quot;% refname:) & quot ;, & quot ;,% (body:) & quot ;, המשמשים לשגיאות, במקום זאת, התייחס אליהם כאילו המעי הגס וחוט ריק שבדרכו לא היו שם.
- משתמשים עם & quot; color.ui = תמיד & quot; בתצורה שלהם נשבר על ידי שינוי האחרונות שגרם פקודות אינסטלציה לשים לב אליהם כמו תיקון שנוצרו באופן פנימי על ידי & quot; git add-p & quot; היו צבעוניים (חה) ובלתי שמיש. זה תוקן.
- & quot; סניף git -M b & quot; בעוד על ענף שאינו קשור לחלוטין או סניף או סניף b misbehaved כאשר מספר worktree היה בשימוש. זה תוקן.
- & quot; יצא במהירות & quot; עם אפשרות -M / -C שהונפקו & quot; העתק & quot; הדרכה על נתיב בו זמנית הוא שונה, אשר היה שגוי.
- פקודת המחסום & quot; ייבוא מהיר & quot; לא סילקו עדכונים לשופטים ולסימנים, אלא אם כן נוצר לפחות אובייקט אחד מאז המחסום האחרון, שתוקן, מכיוון שהדברים האלה יכולים לקרות ללא יצירת אובייקט חדש שנוצר.
- סקריפטים לנהוג TravisCI כבר ארגון מחדש ולאחר מכן אופטימיזציה כדי למנוע מחזורי מחזור על סניף אשר קצה מתויג יושמה.
- & quot; אחזר git: & quot; מאפשר שם אובייקט בצד כאשר הצד השני מקבל בקשה כזו מאז Git v2.5, אבל התיעוד נשאר עבש.
- רגרסיה ב- 2.11, שגרמה לקוד לקרוא את רשימת חנויות האובייקט החלופיות הצפות בקצה המחרוזת.
מה חדש בגירסה 2.15.1:
- פונקציית עוזר לקרוא שורה שלמה אחת לתוך שגיאת OOM מופעלת בטעות ב- EOF בתנאים מסוימים, שתוקנה.
- בנוסף ל- & quot; cc: # cruft & quot ;, & quot; cc: a@dd.re.ss # cruft & quot; נלמד ל & quot; git send-email & quot; כדרך תקפה לומר כי זה צריך גם לשלוח עותק פחמן אל בסעיף הקרוואן.
- תקן רגרסיה ל- & quot; gitk -bisect & quot; על ידי עדכון עדכני.
- שלא כמו & quot; git התחייבות עץ & lt; קובץ & quot ;, & quot; git להתחייב-עץ -F קובץ & quot; לא העביר את תוכן התיק במילה ובמקום זה השלים קו לא שלם בסוף, אם קיים. זה האחרון עודכן כדי להתאים את ההתנהגות של לשעבר.
- & quot; git archive & quot ;, במיוחד כאשר נעשה שימוש עם pathspec, מאוחסן ספרייה ריקה בפלט שלה, למרות ש- Git עצמה אף פעם לא עושה זאת. זה תוקן.
- הגהה של שגיאות ממשק API, שקורה גם לאזהרות של GCC.
- & quot; git gc & quot; מנסה למנוע הפעלת שני מקרים בו זמנית על ידי קריאה וכתיבה pid / host מ לקובץ נעילה; הוא נהג להשתמש בפורמט fscanf () שגוי בעת קריאה, אשר תוקן.
- ליטר הבדיקה נלמד כי אנחנו לא אוהבים & quot; הד-& quot ;.
- קוד cmp.std.c nitpick.
- & quot; git description --match & quot; למד לקחת דפוסי מרובים בסדרה v2.13, אבל התכונה התעלמה הדפוסים אחרי הראשון ולא עובד בכלל. זה תוקן.
- & quot; git cat-file --textconv & quot; התחיל להתבשל לאחרונה, שתוקנה.
- התבנית המובנית לזיהוי כותרת הפונקציה & quot; & quot; עבור HTML לא תואם .. אלמנטים ללא כל תכונות, אשר תוקן.
- & quot; git mailinfo & quot; היה רופף פענוח ציטוט אשפה ניתן להדפיס כאשר שני אותיות לאחר סימן שווה הם לא הקסדצימלי. זה תוקן.
- התיעוד של '-X' עבור מיזוגים נכתב בטעות כדי להצביע על כך ש- & quot; -s שלהם & quot; קיים, וזה לא המקרה.
- לאיית את שם המערכת שלנו בתור & quot; Git & quot; בתפוקה של סקריפט בקשת בקשה.
- תיקונים עבור בעיות גישה בזיכרון בזיכרון שזוהו על ידי valgrind.
- Backports שווה ערך מוסרי של 2015 לתקן את הדמיית הסקר מן gnulib במעלה כדי לתקן מפעם לפעם על HPE NonStop.
- ב & quot; - פורמט = ... & quot; האפשרות של & quot; git for-ref-& quot; (וחבריו, כלומר, מצב הרישום של ענף & quot; git / תג & quot;), & quot;% (atom:) & quot; (למשל: & quot;% refname:) & quot ;, & quot ;,% (body:) & quot ;, המשמשים לשגיאות, במקום זאת, התייחס אליהם כאילו המעי הגס וחוט ריק שבדרכו לא היו שם.
- משתמשים עם & quot; color.ui = תמיד & quot; בתצורה שלהם נשבר על ידי שינוי האחרונות שגרם פקודות אינסטלציה לשים לב אליהם כמו תיקון שנוצרו באופן פנימי על ידי & quot; git add-p & quot; היו צבעוניים (חה) ובלתי שמיש. זה תוקן.
- & quot; סניף git -M b & quot; בעוד על ענף שאינו קשור לחלוטין או סניף או סניף b misbehaved כאשר מספר worktree היה בשימוש. זה תוקן.
- & quot; יצא במהירות & quot; עם אפשרות -M / -C שהונפקו & quot; העתק & quot; הדרכה על נתיב בו זמנית הוא שונה, אשר היה שגוי.
- פקודת המחסום & quot; ייבוא מהיר & quot; לא סילקו עדכונים לשופטים ולסימנים, אלא אם כן נוצר לפחות אובייקט אחד מאז המחסום האחרון, שתוקן, מכיוון שהדברים האלה יכולים לקרות ללא יצירת אובייקט חדש שנוצר.
- סקריפטים לנהוג TravisCI כבר ארגון מחדש ולאחר מכן אופטימיזציה כדי למנוע מחזורי מחזור על סניף אשר קצה מתויג יושמה.
- & quot; אחזר git: & quot; מאפשר שם אובייקט בצד כאשר הצד השני מקבל בקשה כזו מאז Git v2.5, אבל התיעוד נשאר עבש.
- רגרסיה ב- 2.11, שגרמה לקוד לקרוא את רשימת חנויות האובייקט החלופיות הצפות בקצה המחרוזת.
מה חדש בגירסה 2.15.0:
- פונקציית עוזר לקרוא שורה שלמה אחת לתוך שגיאת OOM מופעלת בטעות ב- EOF בתנאים מסוימים, שתוקנה.
- בנוסף ל- & quot; cc: # cruft & quot ;, & quot; cc: a@dd.re.ss # cruft & quot; נלמד ל & quot; git send-email & quot; כדרך תקפה לומר כי זה צריך גם לשלוח עותק פחמן אל בסעיף הקרוואן.
- תקן רגרסיה ל- & quot; gitk -bisect & quot; על ידי עדכון עדכני.
- שלא כמו & quot; git התחייבות עץ & lt; קובץ & quot ;, & quot; git להתחייב-עץ -F קובץ & quot; לא העביר את תוכן התיק במילה ובמקום זה השלים קו לא שלם בסוף, אם קיים. זה האחרון עודכן כדי להתאים את ההתנהגות של לשעבר.
- & quot; git archive & quot ;, במיוחד כאשר נעשה שימוש עם pathspec, מאוחסן ספרייה ריקה בפלט שלה, למרות ש- Git עצמה אף פעם לא עושה זאת. זה תוקן.
- הגהה של שגיאות ממשק API, שקורה גם לאזהרות של GCC.
- & quot; git gc & quot; מנסה למנוע הפעלת שני מקרים בו זמנית על ידי קריאה וכתיבה pid / host מ לקובץ נעילה; הוא נהג להשתמש בפורמט fscanf () שגוי בעת קריאה, אשר תוקן.
- ליטר הבדיקה נלמד כי אנחנו לא אוהבים & quot; הד-& quot ;.
- קוד cmp.std.c nitpick.
- & quot; git description --match & quot; למד לקחת דפוסי מרובים בסדרה v2.13, אבל התכונה התעלמה הדפוסים אחרי הראשון ולא עובד בכלל. זה תוקן.
- & quot; git cat-file --textconv & quot; התחיל להתבשל לאחרונה, שתוקנה.
- התבנית המובנית לזיהוי כותרת הפונקציה & quot; & quot; עבור HTML לא תואם .. אלמנטים ללא כל תכונות, אשר תוקן.
- & quot; git mailinfo & quot; היה רופף פענוח ציטוט אשפה ניתן להדפיס כאשר שני אותיות לאחר סימן שווה הם לא הקסדצימלי. זה תוקן.
- התיעוד של '-X' עבור מיזוגים נכתב בטעות כדי להצביע על כך ש- & quot; -s שלהם & quot; קיים, וזה לא המקרה.
- לאיית את שם המערכת שלנו בתור & quot; Git & quot; בתפוקה של סקריפט בקשת בקשה.
- תיקונים עבור בעיות גישה בזיכרון בזיכרון שזוהו על ידי valgrind.
- Backports שווה ערך מוסרי של 2015 לתקן את הדמיית הסקר מן gnulib במעלה כדי לתקן מפעם לפעם על HPE NonStop.
- ב & quot; - פורמט = ... & quot; האפשרות של & quot; git for-ref-& quot; (וחבריו, כלומר, מצב הרישום של ענף & quot; git / תג & quot;), & quot;% (atom:) & quot; (למשל: & quot;% refname:) & quot ;, & quot ;,% (body:) & quot ;, המשמשים לשגיאות, במקום זאת, התייחס אליהם כאילו המעי הגס וחוט ריק שבדרכו לא היו שם.
- משתמשים עם & quot; color.ui = תמיד & quot; בתצורה שלהם נשבר על ידי שינוי האחרונות שגרם פקודות אינסטלציה לשים לב אליהם כמו תיקון שנוצרו באופן פנימי על ידי & quot; git add-p & quot; היו צבעוניים (חה) ובלתי שמיש. זה תוקן.
- & quot; סניף git -M b & quot; בעוד על ענף שאינו קשור לחלוטין או סניף או סניף b misbehaved כאשר מספר worktree היה בשימוש. זה תוקן.
- & quot; יצא במהירות & quot; עם אפשרות -M / -C שהונפקו & quot; העתק & quot; הדרכה על נתיב בו זמנית הוא שונה, אשר היה שגוי.
- פקודת המחסום & quot; ייבוא מהיר & quot; לא סילקו עדכונים לשופטים ולסימנים, אלא אם כן נוצר לפחות אובייקט אחד מאז המחסום האחרון, שתוקן, מכיוון שהדברים האלה יכולים לקרות ללא יצירת אובייקט חדש שנוצר.
- סקריפטים לנהוג TravisCI כבר ארגון מחדש ולאחר מכן אופטימיזציה כדי למנוע מחזורי מחזור על סניף אשר קצה מתויג יושמה.
- & quot; אחזר git: & quot; מאפשר שם אובייקט בצד כאשר הצד השני מקבל בקשה כזו מאז Git v2.5, אבל התיעוד נשאר עבש.
- רגרסיה ב- 2.11, שגרמה לקוד לקרוא את רשימת חנויות האובייקט החלופיות הצפות בקצה המחרוזת.
מה חדש בגירסה 2.14.1:
- מהדורה זו ואילך - מייבאת את התיקון עבור & quot; ssh: //..." כתובת האתר של Git v2.7.6
מה חדש בגירסה 2.9.3:
- * פונקציית עזר שלוקחת את התוכן של אובייקט להתחייב ומוצאת כי שורת הנושא שלה לא התעלמה מקווים ריקים מובילים, כפי שנעשה בדרך כלל על ידי codepaths אחרים. הפוך אותו להתעלם קווים ריקים מובילים כדי להתאים.
- Git אינו יודע מה התוכן באינדקס צריך להיות עבור נתיב שנוסף עם "git add -N", ולכן "git grep --cached" לא אמור להציג התאמות (או להציג חוסר התאמות, עם -L ) בנתיב כזה, אך ההיגיון אינו חל על "git grep", כלומר חיפוש בקובצי העץ העובדים. אבל עשינו זאת בטעות, שתוקנה.
- "git rebase -i - autostash" לא החזיר את השינוי האוטומטי כאשר הפעולה בוטלה.
- "git להתחייב - שלח -אסור-ריק-הודעה -S" להתחייבות ללא כל גוף הודעה יכול היה לזהות בטעות היכן הכותרת של אובייקט מסתיים מסתיים.
- עדכוני סימון נוספים למחרוזות המחרוזות שצפויות להקליד ממש על ידי משתמש הקצה בגופן ברוחב קבוע.
- במשך זמן רב, נשאנו תגובה בקוד שאמרה שהתפוקה הצבעונית שלנו תפעל רק כאשר אנו משתמשים ב- fprintf / fputs ב- Windows, דבר שכבר אינו קיים בשנים האחרונות.
- "gc.autoPackLimit" כאשר הוא מוגדר ל- 1 לא אמור להפעיל ערימה מחדש כאשר יש רק חבילה אחת, אך הקוד נספר בצורה גרועה ועשה זאת.
- לחלק אחד של "git am" הייתה פונקציית עזר מוזרה שקראה דברים מבחוץ "שלו" בניגוד לקרוא מה יש לנו "שלנו", אשר לא היה מגדרי נייטרלי וגם לא עולה בקנה אחד עם שאר המערכת שבה מחוץ לדברים הוא נקרא "שלהם" לעומת "שלנו".
- מסגרת הבדיקה למדה בדיקה חדשה של test_match_signal כדי לבדוק את קוד היציאה מלהיהרג על ידי אות צפוי.
- "git blame -M" החמיץ שורה אחת שהועברה בתוך הקובץ.
- לתקן codepaths הציג לאחרונה אשר מעורבים פעולות subodule מקבילים, אשר ויתר על קריאה מוקדם מדי, יכול היה לבזבז את המעבד בעת שניסה לכתוב תחת מקרה במקרה פינה.
- "git grep -i" לימד לקפל את המקרה במקומות שאינם ascii כראוי.
- בדיקה שבשימוש ללא תנאי "mktemp" למדה שהפקודה אינה בהכרח זמינה בכל מקום.
- "git blame file" איפשר את השושלת של השורות בתוכן לא מחויב, unadded של "קובץ" כדי לבדוק, אבל הוא סירב כאשר "קובץ" לא הופיע הנוכחי להתחייב. כאשר "file" נוצר על-ידי שינוי שם של קובץ קיים (אך השינוי לא בוצע), הגבלה זו הייתה הדוקה ללא צורך.
- "git add -N dir / file & amp; git write-tree tree" הפיק עץ שגוי כאשר קיימים נתיבים אחרים באותה ספריה, המיון לאחר "קובץ".
- "git fetch http: // user: pass @ host / repo ..." קרצף את החלק userinfo, אבל "דחיפה git" לא.
- תוקנו שגיאות שגילן "git diff -ignore-space-at-eol".
- "מיזוג הערות git" היה קוד כדי לראות אם קיים נתיב (ונכשל אם הוא עושה) ולאחר מכן לפתוח את הנתיב לכתיבה (כאשר הוא לא). החלף אותו פתוח עם O_EXCL.
- "git pack-object" ו- "git index-pack" לרוב פועלים עם off_t כאשר מדברים על קיזוז של אובייקטים ב- packfile, אבל היו קומץ של מקומות שבהם השתמשו "לא חתום ארוך" להחזיק את הערך הזה, מוביל לקיצוץ לא מכוון.
- העדכון האחרון ל- "git daemon" מנסה להפעיל את ה- Socket ברמת KEEPALIVE, אך כאשר הוא מופעל באמצעות inetd, ייתכן שקישור קובץ הקלט הסטנדרטי אינו מחובר בהכרח לשקע. דיכוי שגיאת ENOTSOCK מ setockopt ().
- לאחרונה FreeBSD הפסיק לעשות perl זמין ב / usr / bin / perl; לעבור את ברירת המחדל המובנית נתיב ל / usr / local / bin / perl על לא עתיק מדי משחרר FreeBSD.
- "מצב git" למדו להציע "מיזוג - אב" במהלך מיזוג מתנגש, בדיוק כמו שהוא כבר מציע "rebase - abort" במהלך מחלוקת סותרת.
- המקורות .c / .h מסומנים ככאלה בקובץ .gitattributes כך ש- "git diff -w" וחברים יעבדו טוב יותר.
- בדיקת autoconf הקיימת שנוצרה לצורך הצורך בקישור עם ספריית pthread לא בדקה את כל הפונקציות מספריות pthread; FreeBSD האחרונות יש כמה פונקציות libc אבל לא אחרים, ואנחנו בטעות חשבתי לקשר עם libc הוא מספיק כאשר הוא לא.
- אפשר בדיקות HTTP daemon בבדיקות Travis CI.
- משתמשים בפונקציית ה- API של parse_options_concat () צריכים להקצות מראש חריצים נוספים ולמלא אותם ב- OPT_END () כאשר הם רוצים לקבוע את קבוצת האפשרויות הנתמכות באופן דינמי, מה שהופך את הקוד לקוי וקשה לקריאה. זה תוקן על ידי tweaking של ה- API להקצות ולהחזיר עותק חדש של מערך "אפשרות struct".
- השימוש ב strbuf ב "git rm" לבנות שם קובץ להסרה היה קצת מתחת לאופטימלי, אשר תוקן.
- "git להתחייב --help" אמר "- לא לאמת" הוא רק על דילוג על קדם להתחייב וו, ולא אמר שזה גם דילג על הקמפיין להתחייב.
- "git merge" ב Git v2.9 נלמד לאסור מיזוג של קווים לא קשורים של ההיסטוריה כברירת מחדל, אבל זה בדיוק סוג של מצב "-rejoin" של "משנה גית" (ב contrib /) רוצה לעשות. "git subree" נלמד להשתמש באפשרות "-לא-קשורים-היסטוריות" כדי לעקוף את ברירת המחדל.
- נוהל הבנייה עבור עוזר "git persistent-https" (ב- contrib /) עודכן, כך שניתן יהיה לבנות אותו עם גרסאות חדשות יותר של Google.
- יש להשתמש באופטימיזציה ב "git diff $ treea $ treeB" כדי ללוות עותק שנבדק כבר בעץ העבודה, כאשר הוא ידוע כאותו כתם שהושווה, בציפייה לפתוח / mmap כזה קובץ הוא מהיר יותר מאשר לקרוא אותו מחנות אובייקט, אשר כרוך ניפוח וליישם דלתא. זה עם זאת בעיטות גם כאשר עותק מסומן צריך לעבור המרה המרה ל-גיט (כולל מסנן נקי), אשר מביס את כל הנקודה של אופטימיזציה. האופטימיזציה הושבתה כאשר ההמרה נחוצה.
- "git -c grep.patternType = יומן מורחב - בסיסי - regexp", כי API הפנימי לגשת למכונות grep לא תוכנן היטב.
- יציאת Windows נכשלה בבדיקות מסוימות ב- t4130, בשל חוסר החשיפה בערכים המוחזרים באמצעות הדמיית lstat (2) שלה.
- התווים המופיעים בתווית שמוצגת עבור תגים / סימוכין להתחייבויות בפלט "gitweb" נמחקים כעת כהלכה עבור פלט HTML תקין.
- FreeBSD יכול לשקר כאשר נשאל mtime של ספרייה, מה שגרם קוד מטמון untracked ליפול בחזרה נתיב איטי, אשר בתורו גרם בדיקות t7063 להיכשל כי הוא רצה לאמת את ההתנהגות של הנתיב המהיר.
- אזהרות מהדר של Squelch עבור netmalloc (ב- compat /) בספריה.
- תיעוד ה- API עבור hashmap לא היה ברור אם hashmap_entry ניתן להשליך בבטחה ללא כל שיקול אחר. המדינה כי זה בטוח לעשות זאת.
- כתיבה מחדש של "git am" לא כל כך לאחרונה, שהתחילה לבצע שיחות פנימיות במכונות המחויבות, היתה בעלת רגרסיה לא מכוונת, בכך שלא משנה כמה שניות נדרשו להחלת טלאים רבים, היו כולם אותו הדבר.
- "git difftool ..." התחיל בתיקיית משנה לא הצליח לפרש את הנתיבים ביחס לספרייה זו, שתוקנה.
מה חדש בגירסה 2.9.1:
- כאשר "git daemon" מנוהל ללא - [init-] timeout שצוין, חיבור מלקוח אשר בשקט הולך באופן לא מקוון יכול להסתובב במשך זמן רב, בזבוז משאבים. רמת ה- Socket של KEEPALIVE מופעלת כדי לאפשר למערכת ההפעלה להבחין בחיבורים כושלים שכאלה.
- הפקודות במשפחה 'git log' לוקחות% C (אוטומטי) במחרוזת תבנית מותאמת אישית. זה ללא תנאי הפך את הצבע על, תוך התעלמות - ללא צבע או עם - צבע אוטומטי = כאשר הפלט אינו מחובר ל tty; זה תוקן כדי להפוך את הפורמט באמת מתנהגים כמו "אוטומטי".
- "git rev-list --count" שאורך ההליכה שלו מוגבל עם האפשרות "n" לא עבד טוב עם הספירה הממוטבת כדי להביט באינדקס מפת הסיביות.
- "git show -W" (להאריך את הגושים כדי לכסות את כל הפונקציה, תחומה על ידי שורות התואמות את "funcname" דפוס) המשמש להציג את כל הקובץ כאשר שינוי הוסיף פונקציה שלמה בסוף הקובץ, אשר תוקן.
- ערכת התיעוד עודכנה כך שפקודות מילוליות, משתני תצורה ומשתני סביבה מקובצים באופן קבוע בגופן ברוחב קבוע ומודגש בדפי בסיס.
- "git svn propset" תת-התוספת שהתווספה תוך 2.3 ימים מתועדת כעת.
- התיעוד מנסה לאיתור "GPG" באופן עקבי. כאשר מתייחסים שם תוכנית ספציפית, "gpg" משמש.
- "reflog git" נעצר עם הצגת רשומה המציינת אירוע של יצירת סניף (aka unborn), מה שהראה אותו כאילו צץ את הקטע.
- הסקריפט המהיר של git (ב- contrib /) לא היה ידידותי עם אלה המשתמשים ב- set -u, אשר תוקן.
- עדכון codepath שהשתמש ב- alloca (3) כדי להציב כמות בלתי מוגבלת של נתונים על המחסנית עודכן כדי להימנע מכך.
- "git עדכון המדד --add --chmod = + x קובץ" עשוי להיות שמיש כמו פתח להימלט, אבל לא דבר ידידותי לכפות עבור אנשים שצריכים להשתמש בו באופן קבוע. "git add --chmod = + x file" ניתן להשתמש במקום זאת.
- בנה שיפורים עבור gnome-keyring (ב- contrib /)
- "מצב git" נהג לומר "ספריית עבודה" כאשר פירוש הדבר "עץ עובד".
- תגובות על פגז FreeBSD פגזים הובהרו עם מספר הגירסה (9.x ולפני שבורים, אלה חדשים יותר הם בסדר).
- "git cherry-pick a" עבד על ענף שטרם נולדו, אבל "git cherry-pick A ..B" לא.
- "git add -i / -p" למד לכבד diff.compaction כפתור ניסיוני ניסיוני, כך שהמשתמש יכול לעבוד על אותו חתיך לפצל כמו "git diff" פלט.
- "log --graph --format =" נודע כי "% & gt; | N (") מציין את הרוחב ביחס לקצה השמאלי של המסוף, לא יחסית לאזור כדי לצייר טקסט הנמצא משמאל למוצא - סעיף גרף. זה גם עכשיו מקבל N שלילית כלומר מגבלת העמודה יחסית לגבול הנכון.
- כלל הבעלות על פיסת הזיכרון המחזיקה בהפניות שיובאו ב "git Fetch" היה מזויף, אשר נוקה.
- "git bisect" יוצר שיחה פנימית אל "git diff-tree" כאשר bisection מוצא את הגורם לדליפה, אך השיחה הזו לא אותחל את מבנה הנתונים כדי לעבור לממשק ה- API של diff-tree כראוי.
- תועדו הפורמטים של הנתונים השונים (וכיצד לאמת אותם) שבהם אנו משתמשים בחתימת GPG.
- לתקן רגרסיה לא מכוונת ב v2.9 כי שובר "שיבוט - depth" כי חוזר אל subodules על ידי אילוץ subodules להיות גם משובטים רדוד, אשר במקרים רבים שרת המארח במעלה הזרם של subodules לא מוכנים.
- תקן בבירור את השימוש האידיומי ב- ': $ {VAR = default}' כדי להגדיר את ערך ברירת המחדל, מבלי לצרף אותו במרכאות כפולות.
- לקוד ספציפי ספציפי לפלטפורמה יש הצהרות קפדניות שאינן של ANSI בפונקציות C שאינן לוקחות פרמטרים כלשהם, שתוקנו.
- הקוד הפנימי המשמש להצגת היסט זמן מקומי אינו מוכן להתמודד עם חותמות זמן מעבר לשנת 2100, ונתן ערך אופסט מזויף למתקשר. השתמש במניפול יותר מחפש +0000 במקום ולתת "יומן git" הולך במקרה כזה, במקום הפלה.
- אחת מתוך ארבע הפניות של readlink (1) בחבילת הבדיקה שלנו נכתבה מחדש, כך שהבדיקה יכולה לפעול במערכות ללא הפקודה (אחרות נמצאות במסגרת בדיקה של Valgrind ו- t9802).
- t / דרישות perf / usr / bin / time עם סיומת GNU; את הפניה של זה מתעדכן "gtime" על דארווין.
- באג, שגרם "git p4" תוך כדי פעולה תחת מצב verbose לדווח על נתיבים שהושמטו עקב קידומת סניף שגוי, תוקנה; הפקודה אמרה "התעלמות מקובץ מחוץ לקידומת" עבור נתיבים שהם _ על _ _.
- התיעוד ברמה העליונה "git help git" עדיין מצביע על התיעוד שהוגדר במאגר קוד Google-defunct. עדכן אותו כדי לציין את הכתובת https://git.github.io/htmldocs/git.html.
מה חדש בגירסה 2.9.0:
חדש ב- GIT 2.8.1 (5 באפריל 2016)
מה חדש בגירסה 2.8.1:
- יעד "rpmbuild" נשבר כקלט שלו, git.spec.in, לא עודכן כך שיתאים לקובץ המתאר אותו ששמו שונה לאחרונה. זה תוקן.
מה חדש בגירסה 2.7.3:
- באופן מסורתי, הבדיקות המנסות פקודות שעובדות על התוכן בעץ העבודה נקראו "worktree" בשמות הקבצים שלהם, אך עם תוספת של תת-הפרק "git worktree", שבדיקותיה נקראות גם כן, יש לה יהיה קשה יותר להבדיל ביניהם. המבחנים המסורתיים השתנו לשימוש ב"עץ עבודה "במקום לנסות להבדיל ביניהם.
- codepath רבים שוכחים לבדוק את ערך ההחזרה מ- git_config_set (); הפונקציה נעשית כדי למות () כדי לוודא שלא נמשיך כאשר הגדרת משתנה תצורה נכשלה.
- הטיפול בשגיאות בעת הכתיבה לתהליך האסינכרוני הפנימי שלנו נעשה חזק יותר, מה שמקטין את הפגם בבדיקות שלנו.
- "git show" HEAD: Foo [BAR] באז '"לא פירש את הטענה כסיבה, כלומר את האובייקט בשם השביל עם תווים כלליים באובייקט עץ.
- "git rev-parse - git-common-dir" המשמש במאפיין Worktree לא מנוצל כאשר הוא פועל מתיקיית משנה.
- פקודת המשנה "v (iew) של הפקודה האינטראקטיבית" git am -i "נשברה ב -2.0.0 מסגרת זמן כאשר הפקודה נכתבה מחדש ב- C.
- "git-merge-tree" ששימש לשילוב "שני הצדדים הוסיף" קונפליקט עם עצמו "ליצור קובץ אב קדמון מזויף שיש לו את החלקים המשותפים של מה שני הצדדים הוסיף ולעשות מיזוג 3-way" ההיגיון; זה עודכן כדי להשתמש בדרך כלל "3-way מיזוג עם כתם ריק כמו קובץ אב קדמון מזויף" גישה בשימוש בשאר המערכת.
- כלל בעלות הזיכרון של ממשק ה- API של fill_textconv (), שהיה קצת מסובך, תועד קצת יותר טוב.
- התיעוד לא ציין בבירור שהמצב 'פשוט' הוא כעת ברירת המחדל עבור "דחיפה git" כאשר התצורה push.default לא מוגדר.
- הגרסאות האחרונות של grep grep הן יותר קלטות כאשר הקלט מכיל נתונים בינאריים שרירותיים, אשר חלק מהבדיקות שלנו משתמשות בהם. לשכתב את הבדיקות כדי לעקוף את הבעיה.
- פונקציית עוזר "git submodule" משתמשת מאז v2.7.0 כדי להציג את המודולים התואמים את הארגומנט pathec שניתן לתתי-המשנה שלו (למשל "הוספת תת-מודעת").
- "ערך git config.var config" כדי להגדיר ערך בקובץ תצורה לכל מאגר נכשל כאשר הוא הופעל מחוץ לכל מאגר, אך לא אמר את הסיבה כראוי.
- הקוד לקריאת נתוני החבילה באמצעות הקיזוזים המאוחסנים בקובץ ה- id packx נעשה בקפידה רבה יותר לבדוק את תוקף הנתונים ב- idx.
מה חדש בגירסה 2.7.2:
- מכונה המיזוג ברמה הנמוכה כבר למד להשתמש סיום CRLF קו בעת הכנסת סמני סכסוך לתכנים התמזגו כי הם עצמם קו-הסתיים CRLF.
- "git worktree" היה קוד שבור כי ניסה אוטומטי לתקן חוסר עקביות אפשרית נובעות משתמשי קצה הזזת worktree למקומות שונים מבלי לספר Git (המאגר המקורי צריך לשמור backpointers כדי worktrees שלה, אבל "MV" המנוהלים על ידי משתמשי קצה שאינם מכירים את עובדה זו, בוודאי לא להתאים אותם), אשר למעשה עשה דברים גרועים יותר כאשר מופעלות.
- "git push-force-with-rent" נלמד לדווח אם הדחף צריך לכפות (או להעביר במהירות).
- פקודת "כן" לחקות המשמשת סקריפטים הבדיקה שלנו כבר צבטה לא להשקיע יותר מדי זמן יצירת פלט מיותר שאינו משמש, כדי לעזור למי לבדוק ב- Windows איפה זה לא יפסיק עד שהוא ממלא את צינור החיץ בשל חוסר SIGPIPE.
- backend vimdiff עבור "git mergetool" כבר צבט לארגן מאגרי מספר בצו כי היה תואם את הציפיות של רוב האנשים שקראו משמאל לימין, אז מלמעלה למטה ולהקצות מאגרי 1 2 3 4 "מנטלית" כדי בסיס מקומי מיזוג חלונות מרחוק על פי הסדר הזה.
- התיעוד של "git clean" תוקן; הוא ציין כי .git / מודולים / * מוסרים על ידי מתן שני "-F", אשר מעולם לא היה המקרה.
- נתיבים שנאמרו על האינדקס עם "add -N" עדיין אינם נמצאים באינדקס, אך כמה פקודות התנהגו כאילו הם כבר מזיקים.
- כולל גם תיעוד זעיר ועדכוני בדיקה.
מה חדש בגירסה 2.6.4:
- הסקריפט "configigure" לא נבדק עבור -plreadread כראוי, מה שהרגיז כמה מקשרים.
- הוסף תמיכה עבור http / https על גרבי פרוקסי.
- ניידות לתקן עבור Windows, אשר עשוי לכתוב מחדש $ SHELL משתנה באמצעות נתיבים שאינם POSIX.
- כעת, אנו מאפשרים לכל הווגים להתעלם מהקלט הסטנדרטי שלהם, במקום להתלונן על SIGPIPE.
- תיקון ציטוט פגז בתסריט contrib.
- תיקון ניידות בדיקה עבור נושא ב- v2.6.1.
- אפשר הרחבה של tilde בכמה משתני http.
- תן מקרה מיוחד שימושי "diff / show --word-diff-regex =." כדוגמה בתיעוד.
- תקן במקרה פינתי בענף סינון.
- בצע את העבודה git-p4 על ראש מנותק.
- הבהרת תיעוד עבור "check-ignore" ללא "--verbose".
- בדיוק כפי שעובד העץ מנוקה כאשר המשתמש ביטל את ההגשה ב- P4Submit.applyCommit (), לנקות את הבלגן אם "p4 Submit" נכשל.
- בעל קובץ .idx שנותר ללא קובץ .pack המתאים במאגר פוגע בביצועים; "git gc" למד לגזום אותם.
- הקוד כדי להכין את העץ עובד של ספריה זמנית עבור "dir-diff" תכונה שכחה כי קישורים סמליים לא צריך להעתיק (או symlinked) לאזור זמני, כמו קוד כבר מקרים מיוחדים מחליף אוֹתָם. חוץ מזה, לא היה זה נכון לנסות לחשב את שם האובייקט של היעד של הקישור הסמלי, אשר אולי אפילו לא קיים או יכול להיות ספרייה.
- לא היתה שום דרך להביס משתנה regase.autostash מוגדר משורת הפקודה, כאשר "git rebase --no-autostash" היה חסר.
- אפשר "git לפרש-קדימונים" לפעול מחוץ למאגר Git.
- לייצר סמן "מלוכלך" נכון להנחיית פגז, גם כאשר אנו נמצאים על יתום או על ענף שלא נולד.
- חלק מהמקרים בפינה תוקנו בהתאמת מחרוזות שבוצעה ב "מצב git".
- יישום הצפנה נפוץ של Apple SHA1_Update () אינו לוקח יותר מ -4 GB בכל פעם, וכעת יש לנו פתרון לעקיבת זמן.
מה חדש בגירסה 2.5.3:
- התכונה ניסוי מטמון לא מנוצלת הייתה באגי כאשר נתיבים עם כמה רמות של תיקיות משנה מעורבים.
- גרסאות אחרונות של scripted "git am" יש רגרסיה בביצועים ב- codepath "git am - skip", אשר אינו קיים עוד בגרסה המובנית בחזית 'מאסטר'. תקן את הרגרסיה בגירסת scripted האחרונה המופיעה במסלול תחזוקה 2.5.x ומעלה.
מה חדש בגירסה 2.4.6:
- "git fetch --depth =" ו- "git clone - depth =" הוציאו בקשת העברה רדודה אפילו לעומס טעינה שאינו תומך ביכולת.
- "git fsk" נהג להתעלם מאובייקטים חסרים או לא חוקיים שנרשמו ברפלוג.
- השלמת tcsh כותב scriptlet bash אבל זה היה נכשל עבור משתמשים עם ערכת noclobber.
- עדכונים אחרונים של Mac OS X מפסיקים את הלוגיקה כדי לזהות שהמחשב נמצא במפסק זרם חילופין בדוגמה המקורית של Auto-gc.
- "git format-patch --ignore-if-up-up -..." לא אהב להאכיל את התגים כמתחייב לגבול.
- מכיל גם שגיאות דפוס, עדכוני תיעוד וקוד טריוויאלי
- ניקיון.
מה חדש בגירסה 2.4.2:
- "git rev-list - objects $ old - not - all" כדי לראות אם כל מה שניתן להגיע אליו מ - $ old כבר מחובר לשופטים הקיימים היה מאוד לא יעיל.
- "hash-object --literally" שהופיע ב v2.2 לא היה מוכן לקחת שם סוג עצם ארוך באמת.
- "git rebase - quiet" לא היה שקט לחלוטין כאשר אין מה לעשות.
- ההשלמה עבור ערך הפרמטר log -decorate = הייתה שגויה.
- "מסנן-סניף" פגום ביומן הודעה המסתיים בקו לא שלם בפלטפורמות עם כמה יישומים "sed" כי לקצץ כזה שורה. עבודה על ידי הימנעות להשתמש "sed".
- "git daemon" נכשל לבנות מהמקור תחת תצורת NO_IPV6 (רגרסיה ב -2.4).
- "git stash פופ / להחיל" שכחתי לוודא לא רק את העץ עובד נקי, אלא גם את המדד נקי. זה האחרון חשוב כמו יישום סליק יכול להתנגש ואת המדד ישמש לפתרון סכסוכים.
- הגדלנו $ GIT_EXEC_PATH והנתיב "git" מותקן ב- (בדרך כלל "/ usr / bin") ל- $ PATH בעת הפעלת תת-תוכניות וקרסים כמעט לנצח, אך המקרה המקורי שהשתמש בו הוא האחרון (כלומר להתקין את git ל / opt / foo / git ולהפעיל אותו ללא צורך / opt / foo על $ PATH), וחשוב יותר זה הפך פחות ופחות רלוונטי כמו Git גדל יותר המיינסטרים (כלומר, המשתמשים היו _want_ להיות זה על $ שלהם PATH). עצור את הנתיב שבו "git" מותקן למשתמשים PathH $, שכן זה יפריע סדר החיפוש הפקודה אנשים תלויים (למשל הם אולי לא כמו גירסאות של תוכניות שאינן קשורות Git ב / usr / bin ורוצים לעקוף אותם על ידי כך שיש שונים אלה / usr / local / bin ויש להם את הספרייה האחרונה מוקדם יותר שלהם $ PATH).
- מכיל גם שגיאות דפוס, עדכוני תיעוד וניקיון קוד קלים.
תגובות לא נמצא