אינטרנט ישראל
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
  • ראשי
  • אודות רן בר-זיק ואינטרנט ישראל
  • ערוץ טלגרם
  • מסטודון
  • התחברו אלי בטוויטר
  • התחברו אלי בלינקדאין
  • ספר ג'אווהסקריפט
ראשי » מדריכים » Git » Git – עבודה מול שרת חיצוני של גיטהאב

Git – עבודה מול שרת חיצוני של גיטהאב

רן בר-זיק דצמבר 20, 2015 7:29 am תגובה אחת

עבודה מול שרת מרוחק של גיטהאב עם git.

המאמר הקודם במדריך ה-gitGit – עבודה ראשונית
המאמר הבא במדריך ה-gitGit – עבודה עם ענפים (branches)
כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

אפשר ללמוד גיט יותר טוב

ספר מקיף על גיט, בעברית, שנכתב על ידי רן בר-זיק וכולל תרגילים רבים ומידע מקיף - כולל הסבר על תרומה לפרויקטים של קוד פתוח ושילוב של התרומה בקורות החיים ניתן להורדה ממש פה.
כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.

במאמר הקודם למדנו על קומיטים מקומיים. למדנו איך יוצרים repo מאפס, איך מוסיפים קבצים שונים ל-commit, איך סוקרים את ה-commit עם git status, איך מבצעים את ה-commit עצמו ואיך בוחנים את השינויים באמצעות git log.

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

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

אחרי הלוגין הראשון, אנו נלחץ על הוספת new repository.

כפתור ירוק של הוספת new repository
כפתור ירוק של הוספת new repository

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

בחירת שם ל-repository החדש
בחירת שם ל-repository החדש

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

קבלת ההוראות ל-repo החדש
קבלת ההוראות ל-repo החדש

הממשק של Github, כמו כל ממשק, עשוי להשתנות עם הזמן. אבל העקרון צריך להיות ברור לכם – שימוש באתר על מנת ליצור repository. אחרי היצירה, אנו יכולים לדחוף את הקוד שלנו ל-repo החדש שנוצר. במאמר הקודם יצרנו כבר קוד ועשינו קומיט. אבל הקומיט הוא מקומי. אנחנו יכולים להמשיך ולעבוד על המקומי אבל אם אנחנו עובדים בצוות, אנו רוצים ששאר חברי הצוות יוכלו לראות את הקוד ויש להעביר אותו מהקומיטים המקומיים שנעשו אל השרת. התהליך הזה נקרא push. הדבר הראשון שאנחנו צריכים לעשות זה לחבר את המאגר המקומי שלנו אל השרת המרוחק של github. עושים זאת באמצעות פקודה שנקראת git remote add שמקבלת שני פרמטרים – הראשון הוא שם השרת המרוחק (בדרך כלל origin אבל אנחנו יכולים לקרוא לו בכל שם) והשני הוא כתובת שרת הגיט – במקרה של הדוגמה שלנו הוא https://github.com/sometestuser2/temp.git. הכתובת הזו מורכבת משם המשתמש שלי ושם הפרויקט שלי. כל פרויקט בגיטהאב מכיל את הקונבנציה הזו.

כשאני מקליד את הפקודה git remote add origin https://github.com/sometestuser2/temp.git בתיקית git מקומית, אני בעצם אומר ל-git שמעכשיו origin הוא השרת המרוחק שיש להתיחס אליו.

איך אנחנו יודעים איזה שרתים מרוחקים מחוברים ל-repo שלנו? כותבים את הפקודה git remote -v

$ git remote -v
origin	https://github.com/sometestuser2/temp.git (fetch)
origin	https://github.com/sometestuser2/temp.git (push)

אנו רואים שיש שרת מרוחק שמוגדר כ-origin עבור ה-push שזו הדחיפה ויש שרת מרוחק שמוגדר כ-origin עבור ה-fetch שזה העדכון. כרגע מה שמעניין אותנו זו הדחיפה – כלומר העדכון.

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

$ git remote add origin https://github.com/sometestuser2/temp.git
$ git push origin master
Username for 'https://github.com': [email protected]
Password for 'https://[email protected]@github.com': 
Counting objects: 6, done.
Delta compression using up to 2 threads.
Compressing objects: 100% (2/2), done.
Writing objects: 100% (6/6), 488 bytes | 0 bytes/s, done.
Total 6 (delta 0), reused 0 (delta 0)
To https://github.com/sometestuser2/temp.git
 * [new branch]      master -> master

אם נכנס לממשק של github נראה שהוא התעדכן ומכיל את השינויים. אם עבדתם לפי המדריך הקודם, יהיה שם רק קובץ אחד של PHP. עכשיו כל אחד, בכל העולם, יכול למשוך את השינויים (לא לדחוף, את זה רק אתם יכולים). איך מושכים את השינויים? פתחו תיקיה זמנית במחשב. את המשיכה עושים באמצעות clone:

$ git clone https://github.com/sometestuser2/temp.gitCloning into 'temp'...
remote: Counting objects: 6, done.
remote: Compressing objects: 100% (2/2), done.
remote: Total 6 (delta 0), reused 6 (delta 0), pack-reused 0
Unpacking objects: 100% (6/6), done.
Checking connectivity... done.

כל מה שפקודת clone מקבלת הוא ה-URL של השרת המרוחק. לכל פרויקט בגיטהאב יש אחד כזה וגם לכם. מה הוא? קיבלנו אותו בעת היצירה ואפילו הגדרנו אותו כבר. ה-URL הוא https://github.com/sometestuser2/temp.git וכאשר אנחנו עושים clone, גיט מושך את הקבצים, פורס אותם וגם מקשר עבורנו את ה-remote origin לאותו URL. אם יש לנו את ההרשאות אנחנו יכולים להתחיל לעבוד, לעשות שינויים מקומיים כ-commits ורק כשאנחנו מוכנים או יכולים לדחוף אותם למקור.

זה יכול קצת לבלבל בתחילה – הפיצול הזה בין המקומי למרוחק. בניגוד ל-SVN או למערכות אחרות שבהן יש עבודה רק מול השרת. פה יש לנו עבודה שהיא בעצם מול המקומי (ה-commits) ומול השרת המרוחק (push). זה נראה קצת ביג'רס לנהל את זה, אבל מהר מאוד זה הופך לטבע שני. במאמר הבא נדבר על branches ונמשיך לחקור את הכוח הגדול בעבודה המפוצלת הזו.

כדאי תמיד להשאר מעודכנים! אם יש לכם טלגרם, בדקו את ערוץ הטלגרם של האתר שבו אני מעדכן על פוסטים חדשים 🙂 אם אתם רוצים ללמוד תכנות באופן מקיף ומסודר, הצטרפו לאלפי הלומדים בפרויקט "ללמוד ג'אווהסקריפט בעברית" שמלמד לתכנת בג'אווהסקריפט, ב-Node.js ובריאקט וגם מלמד על תרומה לקוד פתוח. גם ספרים דיגיטליים וגם ספרים מודפסים. בשיתוף הקריה האקדמית אונו ובתמיכת חברות מובילות כגון Wix, Outbrain, Elementor, Iron Source, Chegg, Really Good ועוד.
מדריך הגיט
git

תגובה אחת

  1. נועם הגב מרץ 31, 2022 בשעה 8:23 am

    בדוגמת הCMD האחרונה, בשורה הראשונה, שתי שורות התחברו יחד

השארת תגובה

ביטול

ללמוד ג'אווהסקריפט בעברית

ללמוד לתכנת ג'אווהסקריפט בעברית שגייס יותר משלוש מאות אלף שקל ולמעלה מ-2000 תומכים - בואו ללמוד עכשיו איך לתכנת.

רשימת הנושאים
  • מדריכים
    • ריאקט
    • טייפסקריפט
    • ECMAScript 6
    • ES20XX
    • Node.js
    • Express
    • רספברי פיי
    • Babel
    • docker
    • MongoDB
    • Git
    • לימוד MySQL
    • SASS
    • jQuery
    • CSS3
    • HTML 5
    • SVN
    • LESS
  • פיתוח אינטרנט
    • פתרונות ומאמרים על פיתוח אינטרנט
    • jQuery Scripts
    • jQuery למתקדמים
    • יסודות בתכנות
    • נגישות אינטרנט
  • חדשות אינטרנט
  • מידע כללי על אינטרנט
    • רשת האינטרנט
    • בניית אתרי אינטרנט
  • rss logo

    לכל המאמרים

    לכל המאמרים שפורסמו באינטרנט ישראל משנת 2008 ועד עכשיו.
  • rss logo

    RSS Feed

    משתמשים בקורא RSS? אם כן, עקבו אחרי אינטרנט ישראל באמצעות פיד ה-RSS!
    מה זה RSS?
  • Twitter logo

    עקבו אחרי בטוויטר

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

    ערוץ הטלגרם של אינטרנט ישראל

    בערוץ הטלגרם של אינטרנט ישראל אני מפרסם את הפוסטים של באתר וכן עדכונים טכנולוגיים נוספים.
    מה זה טלגרם?
  • github logo

    הפרויקטים שלי בגיטהאב

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

כל הזכויות שמורות לרן בר-זיק ולאינטרנט ישראל | מדיניות הפרטיות של אתר אינטרנט ישראל | אתר אינטרנט ישראל נגיש לפי תקן WCAG 2.0 AA | הצהרת הנגישות של האתר | אבטחת מידע ודיווח על בעיית אבטחת מידע

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