git alias

כך יוצרים קיצורים עם git
Git logo

במאמר הקודם למדנו איך עובדים עם GitHub, כאשר שיטת העבודה עם GitHub דומה מאוד לשיטת העבודה בכמעט כל חברה שהיא. לא משנה אם החברה משתמשת ב-Stash (שזה פתרון של Atlassian) או ב private repository של GitHub או במערכות אחרות.

אחד הדברים החשובים ביותר היא לוודא שאין קונפליקטים בין הגרסה שלי לגרסה שיש ב-repository שאני מבצע אליו pull request. לצורך זה יש כמה פעולות שצריך לעשות. הראיתי במאמר הקודם למשל, שאני צריך לעשות pull מ-remote שהוא לאו דווקא ה-origin אלא יש לו שם אחר. רצף העבודה שלי הוא בעצם:

עדכון ה-repository המקומי שלי

git pull origin BRANCHNAME

עדכון מה-repository המרוחק

git pull upstream BRANCHNAME

יצירת branch חדש

git checokout -b MYBRANCHNAME

כתיבת קוד וביצוע commit

git add .
git commit -m'Commit Message'

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

git pull upstream BRANCHNAME
#OR
git rebase upstream BRANCHNAME

דחיפת השינויים לענף שלי ומעבר ל-GUI של גיטהאב כדי לבצע pull request.

git push origin BRANCHNAME

רצף הפקודות האלו יכול להיות קצת מתיש ומבלבל, במיוחד לחדשים אבל גם לאנשים מנוסים עם זכרון לא משהו. לפעמים יש כל מיני פלאגים שמשנים את הפעולות כמו git bramch -b – ה-b- יוצר branch חדש למשל. יש גם פלאגים נוספים שעדיין לא דיברנו עליהם במדריך כמו prune–. לפעמים אנחנו לא רוצים ליצור commit messages כי אנחנו עובדים עם ענפים משלנו שאנחנו מעלים לענף ספציפי ב-repository שלנו ורק ממנו מבצעים את ה-pull request, כך שגם ככה אף אחד לא יכול לראות אותם והתיעוד על השינויים שנעשו מופיע רק ב-pull request.

כמה קל היה, למשל, אם במקום כל פעם לכתוב git checkout -b BRANCHNAME כשאני רוצה ליצור ענף חדש, הייתי יכול לכתוב git cob BRANCHNAME. כמה קל היה לכתוב git save במקום git add ואז git commit -m'SAVE POINT' בכל פעם שאנחנו צריכים לעשות commit לענף שלי (לא לענף ה-MASTER או ענף שמישהו אחר ישתמש בו אי פעם, אלא רק לענף שלי).

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

איך משתמשים? בדיוק בשביל זה אנחנו צריכים למצוא את gitconfig. אם אנחנו משתמשים בלינוקס או במק, הוא יהיה ב:

~/.gitconfig 

כאשר ~ זו ספרית הבית של המשתמש שלנו.

אם אנחנו משתמשים בחלונות, הוא יהיה ב:

C:\Users\MyLogin

שם יהיה קובץ ששמו הוא gitconfig.

אם הוא לא שם, פשוט תיצרו אותו.

הקובץ הזה מאוד נחמד וגם די פשוט, יהיה שם את שם המשתמש והמייל, אותם הגדרנו ממש ממש בהתחלה, זוכרים?

[user]
        name = Ran Bar-Zik
        email = [email protected]

אם נוסיף את ה-alias, נוכל להשתמש בהם בקלות, הנה דוגמה:

[user]
        name = Ran Bar-Zik
        email = [email protected]
[alias]
        co = checkout
        cob = checkout -b

אם אשמור את ה-gitconfig ואכתוב מעכשיו git cob NEWBRANCHNAME אז הוא ייצור branch חדש כאילו כתבתי git checkout -b NEWBRANCHNAME. מגניב, לא?

אפשר לשלב כמה פעולות, למשל:

[user]
        name = Ran Bar-Zik
        email = [email protected]
[alias]
        co = checkout
        cob = checkout -b
        cm = !git add -A && git commit -m

אם אכתוב git cm "My Commit Message אז זה יהיה בדיוק כמו לעשות git add לכל הקבצים ואז git commit -m.

בגדול כל ה-alias השימושיים נמצאים במאמר הנהדר הזה. יצרתי גם gist של alias שימושיים שאתם מוזמנים להוסיף לו 🙂

במאמר הבא נדבר על git stash, יהיה מעניין!

פוסטים נוספים שכדאי לקרוא

DALL·E 2024-09-06 12.34.24 - A visually engaging post about Python and cryptographic problems. The image should feature a dark-themed background with a glowing, futuristic Python
פתרונות ומאמרים על פיתוח אינטרנט

בעיות במימוש של פונקציות קריפטוגרפיות בפייתון

היום (16 לספטמבר) ממש, אני מעביר הרצאה ב-PyconIL 2024 על בעיות קריפטוגרפיות באפליקציות פייתון. לצערי אי אפשר להכניס את כל הבעיות הקריפטוגרפיות להרצאה אחת או

פתרונות ומאמרים על פיתוח אינטרנט

נגישות טכנית – פודקאסט ומבוא

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

גלילה לראש העמוד