You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Web-Dev-For-Beginners/translations/he/1-getting-started-lessons/2-github-basics/README.md

46 KiB

מבוא ל-GitHub

היי שם, מפתח עתידי! 👋 מוכן להצטרף למיליוני מתכנתים ברחבי העולם? אני באמת מתרגש להכיר לך את GitHub תחשוב על זה כמו רשת חברתית למתכנתים, אבל במקום לשתף תמונות של ארוחת הצהריים שלך, אנחנו משתפים קוד ובונים דברים מדהימים יחד!

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

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

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

מבוא ל-GitHub

איור מאת Tomomi Imura

שאלון לפני השיעור

שאלון לפני השיעור

מבוא

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

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

בשיעור הזה, נלמד:

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

דרישות מקדימות

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

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

בואו נראה אם Git כבר מותקן על ידי הקלדת הפקודה הקסומה הזו בטרמינל שלכם: git --version

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

💡 הגדרה ראשונית: הפקודות האלה אומרות ל-Git מי אתם. המידע הזה יצורף לכל commit שתעשו, אז בחרו שם ודוא"ל שאתם מרגישים בנוח לשתף בפומבי.

git config --global user.name "your-name"
git config --global user.email "your-email"

כדי לבדוק אם Git כבר מוגדר, תוכלו להקליד:

git config --list

תצטרכו גם חשבון GitHub, עורך קוד (כמו Visual Studio Code), ותצטרכו לפתוח את הטרמינל שלכם (או: command prompt).

גשו ל-github.com וצרו חשבון אם עדיין אין לכם, או התחברו ומלאו את הפרופיל שלכם.

💡 טיפ מודרני: שקלו להגדיר מפתחות SSH או להשתמש ב-GitHub CLI לאימות קל יותר ללא סיסמאות.

GitHub הוא לא מאגר הקוד היחיד בעולם; יש אחרים, אבל GitHub הוא המוכר ביותר.

הכנה

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

שמירה על הקוד שלכם בטוח

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

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

כשעובדים עם GitHub, חשוב לעקוב אחרי פרקטיקות אבטחה:

תחום אבטחה פרקטיקה מומלצת למה זה חשוב
אימות השתמשו במפתחות SSH או Personal Access Tokens סיסמאות פחות בטוחות ונמצאות בתהליך הסרה
אימות דו-שלבי הפעילו 2FA בחשבון GitHub שלכם מוסיף שכבת הגנה נוספת לחשבון
אבטחת מאגר לעולם אל תתחייבו מידע רגיש מפתחות API וסיסמאות לעולם לא צריכים להיות במאגרים ציבוריים
ניהול תלות הפעילו Dependabot לעדכונים שומר על התלויות שלכם בטוחות ומעודכנות

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

הגדרת אימות מודרנית:

# Generate SSH key (modern ed25519 algorithm)
ssh-keygen -t ed25519 -C "your_email@example.com"

# Set up Git to use SSH
git remote set-url origin git@github.com:username/repository.git

💡 טיפ מקצועי: מפתחות SSH מבטלים את הצורך להכניס סיסמאות שוב ושוב והם בטוחים יותר משיטות אימות מסורתיות.


ניהול הקוד שלכם כמו מקצוענים

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

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

אני אהיה כנה זה עשוי להרגיש מבלבל בהתחלה. כשאני התחלתי, חשבתי "למה אני לא יכול פשוט לשמור את הקבצים שלי כמו רגיל?" אבל תאמינו לי: ברגע ש-Git יקליק לכם (וזה יקרה!), יהיה לכם רגע של "איך אי פעם קודדתי בלי זה?" זה כמו לגלות שאתם יכולים לעוף אחרי שהלכתם לכל מקום כל החיים שלכם!

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

משימה: צרו את המאגר הראשון שלכם!

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

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

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

צפו בסרטון

סרטון יסודות Git ו-GitHub

בואו נעשה את זה יחד:

  1. צרו את המאגר שלכם ב-GitHub. גשו ל-GitHub.com וחפשו את הכפתור הירוק New (או את הסימן + בפינה הימנית העליונה). לחצו עליו ובחרו New repository.

    הנה מה לעשות:

    1. תנו למאגר שלכם שם תעשו את זה משהו משמעותי עבורכם!
    2. הוסיפו תיאור אם תרצו (זה עוזר לאחרים להבין על מה הפרויקט שלכם)
    3. החליטו אם אתם רוצים שזה יהיה ציבורי (כולם יכולים לראות) או פרטי (רק עבורכם)
    4. אני ממליץ לסמן את התיבה להוספת קובץ README זה כמו העמוד הראשי של הפרויקט שלכם
    5. לחצו על Create repository וחגגו הרגע יצרתם את המאגר הראשון שלכם! 🎉
  2. נווטו לתיקיית הפרויקט שלכם. עכשיו בואו נפתח את הטרמינל שלכם (אל תדאגו, זה לא מפחיד כמו שזה נראה!). אנחנו צריכים להגיד למחשב שלכם איפה נמצאים קבצי הפרויקט שלכם. הקלידו את הפקודה הזו:

    cd [name of your folder]
    

    מה אנחנו עושים כאן:

    • אנחנו בעצם אומרים "היי מחשב, קח אותי לתיקיית הפרויקט שלי"
    • זה כמו לפתוח תיקייה ספציפית על שולחן העבודה שלכם, אבל אנחנו עושים את זה עם פקודות טקסט
    • החליפו [name of your folder] בשם האמיתי של תיקיית הפרויקט שלכם
  3. הפכו את התיקייה שלכם למאגר Git. כאן הקסם קורה! הקלידו:

    git init
    

    הנה מה שקרה עכשיו (דברים די מגניבים!):

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

    git status
    

    להבין מה Git אומר לכם:

    אתם עשויים לראות משהו שנראה כך:

    Changes not staged for commit:
    (use "git add <file>..." to update what will be committed)
    (use "git restore <file>..." to discard changes in working directory)
    
         modified:   file.txt
         modified:   file2.txt
    

    אל תיבהלו! הנה מה שזה אומר:

    • קבצים באדום הם קבצים שיש בהם שינויים אבל הם עדיין לא מוכנים לשמירה
    • קבצים בירוק (כשאתם רואים אותם) מוכנים לשמירה
    • Git עוזר לכם על ידי כך שהוא אומר לכם בדיוק מה אתם יכולים לעשות הלאה

    💡 טיפ מקצועי: הפקודה git status היא החברה הכי טובה שלכם! השתמשו בה בכל פעם שאתם מבולבלים לגבי מה שקורה. זה כמו לשאול את Git "היי, מה המצב כרגע?"

  5. הכינו את הקבצים שלכם לשמירה (זה נקרא "staging"):

    git add .
    

    מה שעשינו עכשיו:

    • אמרנו ל-Git "היי, אני רוצה לכלול את כל הקבצים שלי בשמירה הבאה"
    • ה-. זה כמו לומר "הכל בתיקייה הזו"
    • עכשיו הקבצים שלכם "מוכנים לשמירה" ומוכנים לשלב הבא

    רוצים להיות יותר סלקטיביים? אתם יכולים להוסיף רק קבצים ספציפיים:

    git add [file or folder name]
    

    למה אולי תרצו לעשות את זה?

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

    שיניתם את דעתכם? אין בעיה! אתם יכולים להסיר קבצים מהשלב הזה כך:

    # Unstage everything
    git reset
    
    # Unstage just one file
    git reset [file name]
    

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

  6. שמרו את העבודה שלכם לצמיתות (עשו את ה-commit הראשון שלכם!):

    git commit -m "first commit"
    

    🎉 מזל טוב! הרגע עשיתם את ה-commit הראשון שלכם!

    הנה מה שקרה עכשיו:

    • Git לקח "צילום מסך" של כל הקבצים שהיו מוכנים לשמירה ברגע הזה
    • הודעת ה-commit שלכם "first commit" מסבירה על מה נקודת השמירה הזו
    • Git נתן לצילום הזה מזהה ייחודי כך שתמיד תוכלו למצוא אותו מאוחר יותר
    • התחלתם רשמית לעקוב אחרי ההיסטוריה של הפרויקט שלכם!

    💡 הודעות commit עתידיות: עבור ה-commits הבאים שלכם, היו יותר תיאוריים! במקום "עדכון דברים", נסו "הוספת טופס יצירת קשר לדף הבית" או "תיקון באג בתפריט הניווט". העתיד שלכם יודה לכם!

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

    קודם כל, גשו לעמוד המאגר שלכם ב-GitHub והעתיקו את ה-URL. ואז חזרו לכאן והקלידו:

    git remote add origin https://github.com/username/repository_name.git
    

    (החליפו את ה-URL הזה ב-URL האמיתי של המאגר שלכם!)

    מה שעשינו עכשיו:

  • יצרנו חיבור בין הפרויקט המקומי שלך לבין מאגר ה-GitHub שלך
  • "Origin" הוא רק כינוי למאגר ה-GitHub שלך זה כמו להוסיף איש קשר לטלפון שלך
  • עכשיו ה-Git המקומי שלך יודע לאן לשלוח את הקוד שלך כשאתה מוכן לשתף אותו

💡 דרך קלה יותר: אם התקנת את GitHub CLI, תוכל לעשות זאת בפקודה אחת:

gh repo create my-repo --public --push --source=.
  1. שלח את הקוד שלך ל-GitHub (הרגע הגדול!):

    git push -u origin main
    

🚀 זהו זה! אתה מעלה את הקוד שלך ל-GitHub!

מה קורה כאן:

  • הקומיטים שלך עוברים מהמחשב שלך ל-GitHub
  • הדגל -u יוצר חיבור קבוע כך שדחיפות עתידיות יהיו קלות יותר
  • "main" הוא שם הענף הראשי שלך (כמו התיקייה הראשית)
  • אחרי זה, תוכל פשוט להקליד git push להעלאות עתידיות!

💡 הערה מהירה: אם הענף שלך נקרא בשם אחר (כמו "master"), השתמש בשם הזה. תוכל לבדוק זאת עם git branch --show-current.

  1. קצב העבודה היומי החדש שלך (כאן זה מתחיל להיות ממכר!):

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

git add .
git commit -m "describe what you changed"
git push

זה הופך להיות פעימת הלב של הקידוד שלך:

  • בצע שינויים מדהימים בקוד שלך
  • שלב אותם עם git add ("היי Git, שים לב לשינויים האלה!")
  • שמור אותם עם git commit והוסף הודעה תיאורית (העתיד שלך יודה לך!)
  • שתף אותם עם העולם באמצעות git push 🚀
  • חזור על התהליך ברצינות, זה הופך להיות טבעי כמו לנשום!

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

💡 טיפ: אולי תרצה גם לאמץ קובץ .gitignore כדי למנוע קבצים שאתה לא רוצה לעקוב אחריהם מלהופיע ב-GitHub - כמו קובץ הערות שאתה שומר באותה תיקייה אבל אין לו מקום במאגר ציבורי. תוכל למצוא תבניות לקבצי .gitignore ב-.gitignore templates או ליצור אחד באמצעות gitignore.io.

זרימות עבודה מודרניות ב-Git

שקול לאמץ את השיטות המודרניות הבאות:

  • קומיטים קונבנציונליים: השתמש בפורמט הודעת קומיט סטנדרטי כמו feat:, fix:, docs: וכו'. למידע נוסף ב-conventionalcommits.org
  • קומיטים אטומיים: כל קומיט מייצג שינוי לוגי יחיד
  • קומיטים תכופים: בצע קומיטים לעיתים קרובות עם הודעות תיאוריות במקום קומיטים גדולים ונדירים

הודעות קומיט

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

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

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

עבודה עם אחרים (החלק הכיפי!)

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

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

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

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

צפה בסרטון

סרטון יסודות Git ו-GitHub

הסיבה העיקרית לשים דברים ב-GitHub הייתה לאפשר שיתוף פעולה עם מפתחים אחרים.

במאגר שלך, נווט ל-Insights > Community כדי לראות איך הפרויקט שלך משתווה לסטנדרטים קהילתיים מומלצים.

רוצה שהמאגר שלך ייראה מקצועי ומזמין? עבור למאגר שלך ולחץ על Insights > Community. התכונה המגניבה הזו מראה לך איך הפרויקט שלך משתווה למה שהקהילה של GitHub מחשיבה כ"פרקטיקות מאגר טובות".

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

הנה מה שהופך מאגר למדהים:

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

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

תכונות מודרניות של GitHub לחקור:

🤖 אוטומציה ו-CI/CD:

  • GitHub Actions לבדיקות אוטומטיות ופריסה
  • Dependabot לעדכוני תלות אוטומטיים

💬 קהילה וניהול פרויקטים:

  • GitHub Discussions לשיחות קהילתיות מעבר לבעיות
  • GitHub Projects לניהול פרויקטים בסגנון קאנבן
  • כללי הגנה על ענפים לאכיפת סטנדרטים של איכות קוד

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

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

משימה: למזג קצת קוד

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

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

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

הערה, היה השינוי שאתה רוצה לראות בעולם, ויצור ענפים גם עבור העבודה שלך. כל הקומיטים שתבצע ייעשו על הענף שבו אתה "נמצא" כרגע. השתמש ב-git status כדי לראות באיזה ענף אתה נמצא.

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

  1. יצירת ענף. השתמש בפקודה git branch כדי ליצור ענף שיכיל את השינויים שהם מתכוונים לתרום:

    git branch [branch-name]
    

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

    git switch -c [branch-name]
    
  2. מעבר לענף העבודה. עבור לענף שצוין ועדכן את ספריית העבודה עם git switch:

    git switch [branch-name]
    

    💡 הערה מודרנית: git switch הוא תחליף מודרני ל-git checkout בעת מעבר בין ענפים. זה ברור ובטוח יותר למתחילים.

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

    git add .
    git commit -m "my changes"
    

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

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

    git switch main
    git pull
    

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

    git switch [branch_name]
    git merge main
    

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

    💡 אלטרנטיבה מודרנית: שקול להשתמש ב-git rebase להיסטוריה נקייה יותר:

    git rebase main
    

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

  5. שלח את העבודה שלך ל-GitHub. שליחת העבודה שלך ל-GitHub פירושה שני דברים. דחיפת הענף שלך למאגר שלך ואז פתיחת PR, Pull Request.

    git push --set-upstream origin [branch-name]
    

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

  6. פתח PR. לאחר מכן, תרצה לפתוח PR. תעשה זאת על ידי ניווט למאגר הממוזג ב-GitHub. תראה אינדיקציה ב-GitHub שמבקשת ממך ליצור PR חדש, תלחץ על זה ותועבר לממשק שבו תוכל לשנות את כותרת הודעת הקומיט, לתת לה תיאור מתאים יותר. עכשיו מנהל המאגר שמיזגת יראה את ה-PR הזה ו_אצבעות משולבות_ הוא יעריך ו_ימזג_ את ה-PR שלך. עכשיו אתה תורם, יאי :)

    💡 טיפ מודרני: תוכל גם ליצור PRs באמצעות GitHub CLI:

    gh pr create --title "Your PR title" --body "Description of changes"
    

    🔧 שיטות עבודה מומלצות ל-PRs:

    • קישור לבעיות קשורות באמצעות מילות מפתח כמו "Fixes #123"
    • הוספת צילומי מסך לשינויים בממשק המשתמש
    • בקשת סוקרים ספציפיים
    • שימוש ב-PRs טיוטה לעבודה בתהליך
    • ודא שכל בדיקות ה-CI עוברות לפני בקשת סקירה
  7. נקה. נחשב כפרקטיקה טובה לנקות לאחר שמיזגת בהצלחה PR. תרצה לנקות גם את הענף המקומי שלך וגם את הענף שדחפת ל-GitHub. קודם כל, מחק אותו מקומית עם הפקודה הבאה:

    git branch -d [branch-name]
    

    ודא שאתה עובר לדף GitHub של המאגר הממוזג הבא ומסיר את הענף המרוחק שדחפת אליו.

Pull request נראה כמו מונח טיפשי כי באמת אתה רוצה לדחוף את השינויים שלך לפרויקט. אבל המנהל (בעל הפרויקט) או הצוות המרכזי צריכים לשקול את השינויים שלך לפני שהם ממזגים אותם עם ענף ה-"main" של הפרויקט, אז בעצם אתה מבקש החלטת שינוי ממנהל.

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

עדכן את הענף המקומי שלך עם כל הקומיטים החדשים מהענף המרוחק המתאים ב-GitHub:

git pull

לתרום לקוד פתוח (ההזדמנות שלך להשפיע!)

מוכן למשהו שיפיל אותך מהרגליים? 🤯 בוא נדבר על תרומה לפרויקטים של קוד פתוח אני מתרגש רק מהמחשבה לשתף את זה איתך!

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

הנה מה שמרגש אותי כל פעם מחדש: כל כלי שאתה לומד להשתמש בו עורך הקוד שלך, המסגרות שנחקור, אפילו הדפדפן שבו אתה קורא את זה התחיל ממישהו בדיוק כמוך שעשה את התרומה הראשונה שלו. אותו מפתח מבריק שבנה את התוסף האהוב עליך ל-VS Code? הוא היה פעם מתחיל שלחץ על "create pull request" בידיים רועדות, בדיוק כמו שאתה עומד לעשות.

והחלק הכי יפה? קהילת הקוד הפתוח היא כמו חיבוק קבוצתי ענק של האינטרנט. רוב הפרויקטים מחפשים באופן פעיל מתחילים ויש להם בעיות מתויגות כ-"good first issue" במיוחד בשביל אנשים כמוך! המתחזקים באמת מתרגשים לראות תורמים חדשים כי הם זוכרים את הצעדים הראשונים שלהם.

אתה לא רק לומד לתכנת כאן אתה מתכונן להצטרף למשפחה גלובלית של בונים שמתעוררים כל יום וחושבים "איך נוכל להפוך את העולם הדיגיטלי למקום קצת יותר טוב?" ברוך הבא למועדון! 🌟

קודם כל, בוא נמצא מאגר (או repo) ב-GitHub שמעניין אותך ושאליו תרצה לתרום שינוי. תרצה להעתיק את התוכן שלו למחשב שלך.

דרך טובה למצוא מאגרים ידידותיים למתחילים היא לחפש לפי התג 'good-first-issue'.

העתקת מאגר מקומית

יש כמה דרכים להעתיק קוד. אחת מהן היא "לשכפל" את תוכן המאגר, באמצעות HTTPS, SSH, או באמצעות GitHub CLI (ממשק שורת הפקודה).

פתח את הטרמינל שלך ושכפל את המאגר כך:

# Using HTTPS
git clone https://github.com/ProjectURL

# Using SSH (requires SSH key setup)
git clone git@github.com:username/repository.git

# Using GitHub CLI
gh repo clone username/repository

כדי לעבוד על הפרויקט, עבור לתיקייה הנכונה: cd ProjectURL

תוכל גם לפתוח את כל הפרויקט באמצעות:

  • GitHub Codespaces - סביבת פיתוח בענן של GitHub עם VS Code בדפדפן
  • GitHub Desktop - אפליקציית GUI לפעולות Git
  • GitHub.dev - לחץ על מקש . בכל מאגר GitHub כדי לפתוח את VS Code בדפדפן
  • VS Code עם תוסף GitHub Pull Requests

לבסוף, תוכל להוריד את הקוד בתיקייה מכווצת.

כמה דברים מעניינים נוספים על GitHub

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

לפרויקטים יש מעקב בעיות, בדרך כלל ב-GitHub בלשונית "Issues" אלא אם צוין אחרת, שם אנשים דנים בבעיות הקשורות לפרויקט. בלשונית Pull Requests אנשים דנים ומבקרים שינויים שנמצאים בתהליך.

ייתכן שלפרויקטים יש גם דיונים בפורומים, רשימות תפוצה, או ערוצי צ'אט כמו Slack, Discord או IRC.

🔧 תכונות מודרניות של GitHub:

  • GitHub Discussions - פורום מובנה לשיחות קהילתיות
  • GitHub Sponsors - תמיכה כספית במתחזקים
  • לשונית Security - דיווחים על פגיעויות וייעוץ אבטחה
  • לשונית Actions - צפייה בתהליכי עבודה אוטומטיים וצינורות CI/CD
  • לשונית Insights - ניתוחים על תורמים, קומיטים ובריאות הפרויקט
  • לשונית Projects - כלי ניהול פרויקטים מובנים של GitHub

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


🚀 אתגר

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

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

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

אין לכם עדיין חבר לקידוד? אין בעיה בכלל! קהילת GitHub מלאה באנשים מקסימים שמבינים איך זה להיות חדשים. חפשו מאגרים עם תוויות "good first issue" הם בעצם אומרים "היי מתחילים, בואו ללמוד איתנו!" כמה זה מדהים?

מבחן לאחר ההרצאה

מבחן לאחר ההרצאה

סקירה והמשך למידה

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

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

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

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

מרגיש הרפתקני? בדוק את הכלים המודרניים האלה:

אתגר סוכן GitHub Copilot 🚀

השתמש במצב Agent כדי להשלים את האתגר הבא:

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

הנחיה: צור מאגר GitHub ציבורי חדש עבור פרויקט פשוט של "משאבי פיתוח אתרים". המאגר צריך לכלול קובץ README.md מובנה היטב שמפרט כלים ומשאבים שימושיים לפיתוח אתרים, מאורגן לפי קטגוריות (HTML, CSS, JavaScript וכו'). הגדר את המאגר עם סטנדרטים קהילתיים מתאימים כולל רישיון, הנחיות לתרומה וקוד התנהגות. צור לפחות שני ענפי פיצ'רים: אחד להוספת משאבי CSS ואחד למשאבי JavaScript. בצע קומיטים לכל ענף עם הודעות קומיט תיאוריות, ואז צור בקשות מיזוג כדי למזג את השינויים חזרה ל-main. הפעל תכונות GitHub כמו Issues, Discussions, והגדר תהליך עבודה בסיסי של GitHub Actions לבדיקות אוטומטיות.

משימה

המשימה שלך, אם תבחר לקבל אותה: השלם את הקורס מבוא ל-GitHub ב-GitHub Skills. הקורס האינטראקטיבי הזה יאפשר לך לתרגל את כל מה שלמדת בסביבה בטוחה ומודרכת. בנוסף, תקבל תג מגניב כשתסיים! 🏅

מרגיש מוכן לעוד אתגרים?

  • הגדר אימות SSH לחשבון GitHub שלך (לא עוד סיסמאות!)
  • נסה להשתמש ב-GitHub CLI לפעולות Git היומיות שלך
  • צור מאגר עם תהליך עבודה של GitHub Actions
  • חקור את GitHub Codespaces על ידי פתיחת המאגר הזה ממש בעורך מבוסס ענן

זכור: כל מומחה היה פעם מתחיל. אתה יכול לעשות את זה! 💪


הצהרת אחריות:
מסמך זה תורגם באמצעות שירות תרגום AI Co-op Translator. למרות שאנו שואפים לדיוק, יש להיות מודעים לכך שתרגומים אוטומטיים עשויים להכיל שגיאות או אי דיוקים. המסמך המקורי בשפתו המקורית צריך להיחשב כמקור סמכותי. עבור מידע קריטי, מומלץ להשתמש בתרגום מקצועי אנושי. איננו אחראים לאי הבנות או לפרשנויות שגויות הנובעות משימוש בתרגום זה.