10 טכניקות Git מתקדמות - KDnuggets

10 טכניקות Git מתקדמות - KDnuggets

צומת המקור: 3083811

10 טכניקות Git מתקדמות
תמונה מאת מחבר
 

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

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

הוספת וביצעת את הקבצים כך מספר פעמים, אבל מה אם אני אגיד לך שאפשר לעשות זאת בשורה אחת עם הדגל `-am`? 

$ git add .
$ git commit -m "new project"

 

נסה זאת במקום, וזה יוסיף את השינויים בקובץ ויצור את ה-commit באמצעות ההודעה. 

$ git commit -am "new project"

 

[master 17d7675] new project
4 files changed, 2 insertions(+), 1 deletion(-)

 

אתה יכול לשנות את שם הודעת ההתחייבות הנוכחית שלך באמצעות דגל `–שינוי` ולכתוב את ההודעה החדשה. זה יעזור לך עם הודעות בשוגג.

$ git commit --amend -m "Love"

 

[master 7b7f891] Love
Date: Mon Jan 22 17:57:58 2024 +0500
4 files changed, 2 insertions(+), 1 deletion(-)

 

אתה יכול לכלול שינויים נוספים ב-commit הנוכחי לפני שדוחפים אותו למאגר המרוחק. כדי לעשות זאת, עליך להוסיף את השינויים בקובץ ולאחר מכן לבצע commit באמצעות הדגל `–amend`. כדי לשמור את הודעת ה-commit הקודמת, פשוט השתמש בדגל `–no-edit`.

$ git add . 
$ git commit --amend --no-edit

 

[master f425059] Love
Date: Mon Jan 22 17:57:58 2024 +0500
6 files changed, 2 insertions(+), 34 deletions(-)

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

$ git push origin master --force

 

Enumerating objects: 7, done.
Counting objects: 100% (7/7), done.
Delta compression using up to 16 threads
Compressing objects: 100% (4/4), done.
Writing objects: 100% (4/4), 357 bytes | 357.00 KiB/s, done.
Total 4 (delta 2), reused 0 (delta 0), pack-reused 0
remote: Resolving deltas: 100% (2/2), completed with 2 local objects.
To https://github.com/kingabzpro/VSCode-DataCamp.git
8f184d5..f425059  master -> master

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

נשתמש ב-'log' עם '–oneline' כדי להציג את היסטוריית ה-commit בצורה קצרה יותר. 

$ git log --oneline

 

f425059 (HEAD -> master, origin/master) Love
8f184d5 first commit

 

כדי לחזור ל-commit קודם, אנו משתמשים בפקודה `git revert` ואחריה במזהה ה-commit. זה יוצר התחייבות חדשה עם השינויים מההתחייבות הקודמת.

$ git revert 8f184d5

האם אתה רוצה להגדיל את הפרודוקטיביות שלך ב-GitHub? עם GitHub Code Spaces, כעת תוכל לערוך ולהפעיל את הקוד שלך ישירות בדפדפן שלך. 

כדי לגשת לתכונה זו, פשוט נווט אל המאגר המועדף עליך, הקש על מקש הנקודה (".") במקלדת שלך, וזה יפנה אותך לממשק VSCode.

 

10 טכניקות Git מתקדמות
תמונה מאת מחבר
 

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

 

10 טכניקות Git מתקדמות
תמונה מאת מחבר

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

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

$ git stash save new-idea

 

Saved working directory and index state On master: new-idea

 

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

$ git stash list

 

stash@{0}: On master: new-idea

 

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

$ git stash apply 0

 

On branch master
Your branch is up to date with 'origin/master'.

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

$ git branch -M main

 

10 טכניקות Git מתקדמות
 

אתה יכול לאמת את השינויים באמצעות הפקודה הבאה: 

$ git status

 

On branch main
Your branch is up to date with 'origin/master'.

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

$ git log --graph --decorate --oneline

 

10 טכניקות Git מתקדמות

בכמה הזדמנויות עברתי לסניף חדש ושכחתי את שם הסניף הקודם. כתוצאה מכך, הייתי צריך להשתמש בפקודה `git branch -a` כדי להציג את רשימת שמות הסניפים. עם זאת, יש דרך פשוטה יותר לחזור לסניף המקורי על ידי שימוש במקף "-" לאחר הפקודה 'git checkout'.

תחילה ניצור את הסניף החדש של Git "neo".

$ git branch neo

 

נעבור לסניף "ניאו".

$ git checkout neo

 

Switched to branch 'neo'

 

כדי לחזור לסניף המקורי, נשתמש בפקודה הבאה:

$ git checkout -

 

Switched to branch 'main'

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

נשתמש בפקודה 'אחזר' כדי לקבל את השינויים האחרונים מהמאגר המרוחק. 

$ git fetch origin

 

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

$ git reset --hard origin/master

 

HEAD is now at f425059 Love

 

אם עדיין יש קבצים שאינם במעקב, ניתן להסיר אותם באמצעות הפקודה הבאה:

$ git clean -df

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

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

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

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

בול זמן:

עוד מ KDnuggets