אחד השירותים הבסיסיים ביותר שמספק גיט הוא היסטוריית הפרויקט. מכיוון ש- Git עוקב אחר כל השינויים בקבצים שבוצעו במאגר, הוא יכול להציע תכונות רישום חזקות מאוד. אתה יכול לשאול את היסטוריית הפרויקט בדרכים רבות ושונות ותוכל לחלץ ולהציג נתונים שונים באמצעות פקודה גמישה אחת.

ה יומן git הפיקוד הוא עצום, הגדול ביותר מבין כל פקודות Git רגילות. אורכו של המדריך הוא מעל 2,500 קווים. לְמַרְבֶּה הַמַזָל, יומן git מספק הרבה מההתנהגות השימושית ביותר מכמה אפשרויות מפתח.

רישום בסיסי עם התנהגות ברירת המחדל

כברירת מחדל, יומן git מציג רשימה מחויבת כרונולוגית. כל התחייבות כוללת את המסר שלה, המחבר, התאריך וההתחייבות שלו:

הפקודה משתמשת בביפר (למשל פחות, יותר) כדי להציג את התפוקה המלאה, כך שתוכל לנווט בקלות בתוצאות. אתה יכול להגדיר את Git כך שתשתמש בתוכנית שבחרת, כגון הכי זימונית.

הנה כמה פלט יומני git מ המאגר של קוד המקור של git עצמה:

התחייב 670b81a890388c60b7032a4f5b879f2ece8c4558 (HEAD -> master, origin / next,
מקור / מאסטר, מקור / HEAD)
מחבר: ג'וניו סי חמאנו
תאריך: יום שני 14 ביוני 13:23:28 2021 +0900
המנה השנייה
חתום על ידי: ג'וניו סי חמאנו
instagram viewer

התוצאה מתחילה עם ה- hash של ה- commit (670...) ואחריו רשימת ענפים המצביעים כרגע על ההתחייבות (HEAD -> אדון, וכו.)

השורה הבאה מתארת ​​את מחבר ההתחייבות הזו, תוך ציון שמם וכתובת הדוא"ל שלהם.

התאריך והשעה המלאים של ההתחייבות עוקבים אחר השורה הבאה.

לבסוף, התוכן המלא של הודעת ההתחייבות מופיע. אתה יכול לשלוט על רוב כל השאר שמציע יומן git עם אפשרויות שורת פקודה. ישנם שני סוגים עיקריים של אפשרויות:

  • עיצוב, המגדיר כיצד גיט מציגה כל התחייבות.
  • סינון, המגדיר איזה מתחייב יומן git כולל.

בנוסף לאפשרויות שורת הפקודה, git log מקבל טיעונים המציינים קבצים, התחייבויות, ענפים או סוגי הפניה אחרים. אלה מיישמים סינון נוסף.

עיצוב פלט יומן Git

אחת ההתאמות הפשוטות ביותר היא --שורה אחת אפשרות שמייצרת פלט קצר מאוד:

יומן git - קו

כל שורה ביומן מכילה כעת רק חשיש מקוצר מקושר ואת הנושא של את המסר להתחייב. זוהי דרך מצוינת לקבל סקירה כללית על ההתחייבויות האחרונות לפרויקט:

למרבה הצער, ללא שום הקשר אחר, מידע זה אינו תמיד כל כך שימושי. זה עשוי לתת לך תחושה מעורפלת של הפרויקט, אך חסרים תאריכים ומידע שימושי אחר על מחברים וקבצים.

הצגת גרף ענף

ה --גרָף אפשרות מאפשרת לך לדמיין קשרים בין ענפים. זה מאוד בסיסי אבל יכול לעזור להתיר היסטוריה מסובכת.

יומן git - קו - גרף

קָשׁוּר: כיצד ליצור סניף חדש בגיט

תפוקה יפה בהתאמה אישית

תוכל להשיג עיצוב מסובך יותר על ידי ציון פירוט בפירוט באמצעות ה- --יפה אוֹפְּצִיָה. התחביר עובר מפשוט מאוד להרבה יותר מורכב, אז עיין במדריך לקבלת פרטים מלאים.

יומן git - יפה = קצר

זהה בעצם כמו יומן git ללא התאריך או ההודעה המלאה:

יומן git - יפה = מקוון

שווה ל יומן git - קו.

יומן git - יפה = מלא יותר

כולל הרבה פרטים. זה אפילו מפריד בין מחבר למתווך שעשוי, בתיאוריה, להיות אנשים שונים:

עם ה פוּרמָט: גרסה, אתה יכול לספק מחרוזת המכילה את כל התוכן שאתה רוצה, כולל מצייני מיקום אשר מוחלפים בנתונים שונים. הנה כמה מצייני מיקום לדוגמא:

  • % H לבצע חשיש
  • % h מקוצר חשיש
  • %מוֹדָעָה תאריך המחבר
  • % ar תאריך המחבר, קרוב משפחה
  • % s לבצע נושא מסר
  • % ב לבצע מסר גוף
  • % p חשיפות הורים מקוצרות

אתה יכול להוסיף תווים קבועים לפלט ולצבוע אותו. דוגמה זו מציגה גם וריאציה על פורמט התאריך:

יומן git - pretty = פורמט: '% C (אוטומטי)% h [% ad]% s' - תאריך = קצר

שים לב שסוגריים מקיפים את התאריך. לא משנה מה העיצוב שתבחרו, אם ברצונכם שהפלט יהיה שימושי בצינור או בצורות אחרות של עיבוד טקסט, עליכם לשקול כיצד לתחום כל חלק בפלט.

מציג דיפים ביומן

פרט חשוב כאשר מסתכלים על ההיסטוריה של מאגר הוא ההבדלים עצמם. הם מייצגים את מה שהשתנה בפועל בקוד, אחרי הכל! בתור התחלה, תוכלו לקבל סיכום של שינויים לצד כל התחייבות באמצעות - קצר מצב:

יומן git - קצר

זה מוסיף שורה כמו:

קובץ אחד השתנה, 48 הכנסות (+), 2 מחיקות (-)

לתחתית כל התחייבות. לעתים קרובות תראה סיכום מסוג זה - בכל הדפים ב- GitHub, למשל - וזו דרך שימושית לשפוט במהירות את היקף ההתחייבות הספציפית. לקבלת מידע מפורט יותר, ניתן לכלול פלט תיקון מלא (הבדלים) באמצעות ה- -p דֶגֶל:

git log -p

סינון פלט יומן Git

לא משנה מה העיצוב שתחיל, עדיין תראה את היומן המלא של כל המחויבות בסניף הנוכחי. למרות ש- Git מפרק אותם לדפים, זה עדיין יכול להיות הרבה פלט. האפשרויות הבאות מאפשרות לך להתאים אישית את ההתחייבות הכוללת ביומן.

הגבלה לפי סכום

אם אתה רק רוצה לקצץ את התוצאות כדי להציג את ההתחייבויות האחרונות, השתמש ב -[מספר] תחביר:

יומן git -2

הגבלה לפי תאריך

כדי להגביל את מערך ההתחייבויות לטווח תאריכים נתון, השתמש ב --מאז (--לאחר) ו --עד (--לפני) אפשרויות. כל אחד מהם לוקח תאריך בפורמט ISO 8601. אתה יכול להשתמש באחד מהם --מאז אוֹ --עד לבד, או שניהם יחד כדי לציין טווח. האפשרויות --לאחר ו --לפני הם מילים נרדפות.

יומן git --since = "2021-01-01" --tiltil = "2021-05-01"

הגבלה לפי קובץ

יומן Git יכול להתמקד בקובץ ספציפי ולא בכל קובץ במאגר שלך. זה נהדר כדי לעזור לך לגלות כיצד קובץ מסוים השתנה לאורך זמן. כל שעליך לעשות הוא להוסיף את שם הקובץ בסוף פקודת git שלך:

שם הקובץ של יומן git

תראה רק את ההתחייבויות שהושפעו שם קובץ.

הבדלים בין ענפים

יתכן שיהיו לך כמה דרישות ייחודיות בעת הצגת יומן הסניף. לדוגמה, במקום לראות את ההיסטוריה כולה, כדאי לך רק לראות מה השתנה באותו ענף ספציפי. יומן Git יכול לעזור באמצעות ref1..ref2 תחביר. ישנן שלוש גישות מעט שונות בהן תוכלו להשתמש:

  1. הצג התחייבויות שהן בעיקר, אך לא ענף:
    יומן git - מקור / סניף מקורי..מקור / ראשי
  2. הצג התחייבויות שנמצאות בענף, אך אינן עיקריות:
    יומן git - מקור מקורי /רָאשִׁי..מָקוֹר/ענף
  3. הצג התחייבויות שקיימות רק בסניף או ב- main:
    יומן git - מקור / ענף מקוון...מקור / ראשי

בדיוק כפי שאתה יכול להציג היסטוריה בין סניפים באמצעות ref1..ref2 תחביר, אתה יכול גם לראות היסטוריה בין תגיות באותו אופן. אחרי הכל, גם התגים וגם הענפים הם סוגים של התייחסות.

יומן git --abbrev-commit --pretty = פורמט: '% h% ar% s' v2.32.0-rc3..v2.32.0

אם אתה מכין הערות שחרור לפרויקט גדול יותר, חסר git אמור להיות נמל השיחה הראשון שלך. זה מייצר רשימה של מחברים עם נושאים מחויבים לצידם. אתה יכול להעביר לו טווח התייחסות כדי להגביל את ההיסטוריה באופן דומה ליומן git:

git shortlog v2.32.0-rc3..v2.32.0

ה git show command הוא אפילו יותר תכליתי מ יומן git. זה יכול לעבוד עם תגים וסוגים אחרים של אובייקטים git מעבר להיסטוריית ההתחייבות. היא חולקת אופציות רבות עם יומן git, אבל אתה באמת צריך את זה רק אם אתה צריך לחפור לפרטים ברמה נמוכה יותר.

סקור את העבר עם יומן Git

יומן Git הוא פקודה מסובכת, אך אתה יכול לקבל שימוש רב מהאפשרויות הבסיסיות ביותר שלה. גלישה בהיסטוריה של מאגר היא דרך מצוינת להבין באיזו תדירות מתרחשים שינויים וכמה אנשים עושים אותם. ברגע שיש לך הבנה טובה של ההיסטוריה של הפרויקט, אתה תהיה במצב נהדר לתרום לזה בעצמך.

אימייל
הצטרף למגמת הקידוד החברתי ותרום למאגרי GitHub

רוצה להפעיל את שרירי הקידוד שלך ולעזור לפרויקטים של קוד פתוח? כך תוכל לתרום ל- GitHub.

קרא הבא

נושאים קשורים
  • תִכנוּת
  • GitHub
  • טיפים לקידוד
על הסופר
בובי ג'ק (54 מאמרים פורסמו)

בובי הוא חובב טכנולוגיה שעבד כמפתח תוכנה במשך רוב שני העשורים. הוא נלהב ממשחקים, עובד כעורך ביקורות במגזין Switch Player, והוא שקוע בכל ההיבטים של פרסום מקוון ופיתוח אתרים.

עוד מבובי ג'ק

הירשם לניוזלטר שלנו

הצטרף לניוזלטר שלנו לקבלת טיפים טכניים, ביקורות, ספרים אלקטרוניים בחינם ומבצעים בלעדיים!

צעד אחד נוסף !!!

אנא אשר את כתובת הדוא"ל שלך בדוא"ל ששלחנו לך זה עתה.

.