logo

Git log

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

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

באופן כללי, יומן ה-git הוא תיעוד של התחייבויות. יומן git מכיל את הנתונים הבאים:

    Hash להתחייב, שהוא נתוני בדיקה של 40 תווים שנוצרו על ידי אלגוריתם SHA (Secure Hash Algorithm). זה מספר ייחודי.Commit Author metadata: המידע של המחברים כגון שם המחבר ודוא'ל.מטא נתונים של Commit Date: זוהי חותמת זמן של תאריך לזמן ההתחייבות.התחייב כותרת/הודעה: זוהי הסקירה הכללית של ההתחייבות המופיעה בהודעת ההתחייבות.

כיצד לצאת מפקודת git log?

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

הפתרון לבעיה זו הוא ל ללחוץ ה q (Q עבור יציאה) . זה יוציא אותך מהמצב ויחזיר אותך לשורת הפקודה. כעת, אתה יכול לבצע כל אחת מהפקודות.

יומן Git בסיסי

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

 $ git log 

הפקודה שלעיל תציג את ה-commits האחרונות. שקול את הפלט שלהלן:

Git log

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

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

<

Git Log Oneline

האפשרות oneline משמשת להצגת הפלט כ-commit אחד לכל שורה. זה גם מציג את הפלט בקצרה כמו שבעת התווים הראשונים של ה-commit SHA והודעת ה-commit.

הוא ישמש באופן הבא:

 $ git log --oneline 

אז, בדרך כלל אנחנו יכולים לומר שהדגל --oneline גורם ל-git log להופיע:

  • התחייבות אחת לכל שורה
  • שבע הדמויות הראשונות של ה-SHA
  • הודעת ההתחייבות

שקול את הפלט שלהלן:

Git log 1

כפי שאנו יכולים לראות ביתר דיוק מהפלט הנ'ל, כל commit ניתן רק בשורה אחת עם מספר sha בן שבע ספרות והודעת commit.

Git Log Stat

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

באופן כללי, אנו יכולים לומר שהאפשרות הסטטיסטית משמשת לתצוגה

Java ממיין רשימה
  • הקבצים ששונו,
  • מספר השורות שנוספו או הוסרו
  • שורת סיכום של המספר הכולל של הרשומות שהשתנו
  • השורות שנוספו או הוסרו.

הוא ישמש באופן הבא:

 $ git log --stat 

הפקודה לעיל תציג את הקבצים ששונו. שקול את הפלט שלהלן:

Git log 2

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

Git log P או Patch

הפקודה git log patch מציגה את הקבצים ששונו. זה גם מציג את המיקום של השורות שנוספו, הוסרו ומעודכנו.

זה ישמש בתור:

כמה 0 במיליארד
 $ git log --patch 

אוֹ

 $ git log -p 

באופן כללי, אנו יכולים לומר שדגל --patch משמש להצגת:

  • קבצים ששונו
  • המיקום של הקווים שהוספת או הסרת
  • שינויים ספציפיים שבוצעו.

שקול את הפלט שלהלן:

Git log 3

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


Git Log Graph

פקודת Git log מאפשרת להציג את יומן ה-git שלך כגרף. כדי לרשום את ה-commits בצורה של גרף, הפעל את הפקודה git log עם אפשרות --graph. זה יפעל באופן הבא:

 $ git log --graph 

כדי להפוך את הפלט ליותר ספציפי, אתה יכול לשלב פקודה זו עם אפשרות --oneline. זה יפעל באופן הבא:

 $ git log --graph --oneline 

סינון היסטוריית ההתחייבויות

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

בואו נבין כל אחד מהמסננים הללו בפירוט.

לפי כמות:

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

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

Git log 4

כפי שאנו יכולים לראות מהפלט לעיל, אנו יכולים להגביל את הפלט של git log.

לפי תאריך ושעה:

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

 $ git log --after=&apos;yy-mm-dd&apos; 

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

Git log 5

הפקודה שלמעלה מפרטת את כל ההתחייבויות לאחר '2019-11-01'.

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

 git log --after=&apos;21 days ago&apos; 

הפקודה לעיל תציג את ההתחייבויות שבוצעו לפני 21 ימים. שקול את הפלט שלהלן:

Git log 6

אנחנו יכולים גם לעקוב אחר ההתחייבויות בין שני תאריכים. כדי לעקוב אחר ההתחייבויות שנוצרו בין שני תאריכים, העבר הפניה להצהרה --לפני ו --לאחר התאריך. נניח שאנו רוצים לעקוב אחר ההתחייבויות בין '2019-11-01' ל-'2019-11-08'. נריץ את הפקודה באופן הבא:

 $ git log --after=&apos;2019-11-01&apos; --before=&apos;2019-11-08 &apos; 

הפקודה לעיל תציג את ההתחייבויות שבוצעו בין התאריכים. שקול את הפלט שלהלן:

Git log 7

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

לפי מחבר:

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

 $ git log --author=&apos;Author name&apos; 

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

Git log 8

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

אנחנו יכולים להשתמש במחרוזת במקום בביטוי רגולרי או בשם מדויק. שקול את ההצהרה שלהלן:

 $ git log --author=&apos;Stephen&apos; 

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

כידוע, האימייל של המחבר קשור גם לשם המחבר, כך שנוכל להשתמש בדוא'ל של המחבר כתבנית או חיפוש מדויק. נניח שאנו רוצים לעקוב אחר ההתחייבויות של המחברים ששירות הדוא'ל שלהם הוא גוגל. לשם כך, אנו יכולים להשתמש בתווים כלליים בתור '@gmail.com'. שקול את ההצהרה שלהלן:

 $ git log -author=&apos;@gmail.com&apos; 

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

Git log 9

על ידי הודעת Commit:

כדי לסנן את ההתחייבויות לפי הודעת ההתחייבות. אנחנו יכולים להשתמש באפשרות grep, והיא תעבוד כאפשרות המחבר.

כמה ערים יש בארצות הברית של אמריקה

זה יפעל באופן הבא:

 $ git log --grep=&apos; Commit message.&apos; 

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

Git log 10

הפלט שלמעלה מציג את כל ה-commits המכילים את המילה commit בהודעת ה-commit שלו.

ישנן אפשרויות סינון רבות אחרות זמינות כמו שאנחנו יכולים לסנן לפי שם קובץ, תוכן ועוד.