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

21 KiB

מבוא ל-GitHub

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

מבוא ל-GitHub

איור מאת Tomomi Imura

חידון לפני השיעור

חידון לפני השיעור

מבוא

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

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

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

לפני שמתחילים, יש לבדוק אם Git מותקן. בטרמינל הקלד: git --version

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

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

כדי לבדוק אם Git כבר מוגדר, ניתן להקליד: git config --list

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

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

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

הכנה

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


ניהול קוד

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

משימה: יצירת מאגר וביצוע commit לקוד

צפה בסרטון

Git ו-GitHub: יסודות

  1. צור מאגר ב-GitHub. ב-GitHub.com, בלשונית המאגרים, או מסרגל הניווט בצד ימין למעלה, מצא את כפתור new repo.

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

    cd [name of your folder]
    
  3. אתחל מאגר git. בפרויקט שלך הקלד:

    git init
    
  4. בדוק סטטוס. כדי לבדוק את הסטטוס של המאגר שלך הקלד:

    git status
    

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

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

    בדרך כלל פקודת git status תספר לך דברים כמו אילו קבצים מוכנים ל"שמירה" במאגר או אילו קבצים שונו וייתכן שתרצה לשמור את השינויים שלהם.

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

    git add .
    

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

  6. הוסף קבצים נבחרים למעקב

    git add [file or folder name]
    

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

  7. בטל שלב לכל הקבצים

    git reset
    

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

  8. בטל שלב לקובץ מסוים

    git reset [file or folder name]
    

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

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

    git commit -m "first commit"
    

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

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

    הערה, לפני שאתה מקליד את הפקודה, עבור לדף המאגר שלך ב-GitHub כדי למצוא את כתובת ה-URL של המאגר. תשתמש בה בפקודה למטה. החלף את https://github.com/username/repository_name.git בכתובת ה-URL של GitHub שלך.

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

    זה יוצר remote, או חיבור, בשם "origin" שמצביע על מאגר ה-GitHub שיצרת קודם.

  11. שלח קבצים מקומיים ל-GitHub. עד כה יצרת חיבור בין המאגר המקומי למאגר ה-GitHub. בוא נשלח את הקבצים האלה ל-GitHub עם הפקודה git push, כך:

    הערה, שם הסניף שלך עשוי להיות שונה כברירת מחדל מ-main.

    git push -u origin main
    

    זה שולח את ה-commits שלך בסניף "main" ל-GitHub.

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

    git add .
    git commit -m "type your commit message here"
    git push
    

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

הודעות Commit

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

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

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

משימה: שתף פעולה

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

עבודה על פרויקטים עם אחרים

צפה בסרטון

Git ו-GitHub: יסודות

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

הנה כמה דברים שיכולים לשפר את מאגר ה-GitHub שלך:

  • תיאור. האם הוספת תיאור לפרויקט שלך?
  • README. האם הוספת README? GitHub מספק הנחיות לכתיבת README.
  • הנחיות לתרומה. האם לפרויקט שלך יש הנחיות לתרומה?
  • קוד התנהגות. האם יש קוד התנהגות?
  • רישיון. אולי הכי חשוב, האם יש רישיון?

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

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

משימה: מיזוג קוד

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

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

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

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

בוא נעבור על תהליך עבודה של תורם. נניח שהתורם כבר ביצע fork ו-clone למאגר כך שיש לו מאגר Git מוכן לעבודה במחשב המקומי שלו:

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

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

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

    git add .
    git commit -m "my changes"
    

    ודא שאתה נותן ל-commit שלך שם טוב, לטובתך ולטובת מתחזק המאגר שאתה עוזר לו.

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

    git switch main
    git pull
    

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

    git switch [branch_name]
    git merge main
    

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

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

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

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

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

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

    git branch -d [branch-name]
    

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

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

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

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

git pull

איך לתרום לקוד פתוח

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

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

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

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

פתחו את הטרמינל שלכם ושכפלו את המאגר כך: git clone https://github.com/ProjectURL

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

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

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

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

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

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

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

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


🚀 אתגר

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

חידון לאחר ההרצאה

חידון לאחר ההרצאה

סקירה ולימוד עצמי

קראו עוד על תרומה לתוכנה בקוד פתוח.

דף עזר ל-Git.

תרגלו, תרגלו, תרגלו. ל-GitHub יש מסלולי למידה מעולים זמינים דרך skills.github.com:

תמצאו שם גם קורסים מתקדמים יותר.

משימה

השלימו את הקורס השבוע הראשון ב-GitHub


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