Clone
הפרויקט שאיבד את העבר שלו
אליס קנתה מחשב נייד חדש ורצתה להמשיך לעבוד על אתר ההזמנות של המאפייה שלה. היא פתחה את הפרויקט ב־GitHub, לחצה על הכפתור הירוק Download ZIP ופתחה את הקובץ במחשב החדש. זה רץ, והיא המשיכה. שבוע אחר כך היא רצתה להחזיר את דף התפריט של החודש שעבר וביקשה מה־AI למצוא אותו. ה־AI דיווח שלתיקייה הזאת אין היסטוריה בכלל ואין חיבור ל־GitHub. ההורדה לקחה את הקבצים והשאירה מאחור את כל השאר.
- Clone מעתיק repository מ־GitHub יחד עם כל ההיסטוריה שלו.
- Clone זוכר מאיפה הוא בא, ולכן שליחת שינויים בחזרה לא דורשת הגדרה.
- הורדת ZIP ותיקיות מועתקות מביאות רק את הקבצים, בלי ההיסטוריה ובלי הקישור.
- רק מפתח ה־.pub הציבורי עולה ל־GitHub; המפתח הפרטי לעולם לא עוזב את המחשב שלכם.
הורדת ZIP אינו Clone
עשה ואל תעשה
- צרו את ה־repository ב־GitHub, ואז עשו לו clone.
- עשו clone פעם אחת בכל מחשב שאתם עובדים עליו.
- אל תעבירו פרויקטים בין מחשבים בהעתקת תיקיות.
- אל תדביקו מפתח פרטי בצ'אט עם AI.
מתחילים ב־GitHub ואז עושים clone
אפשר לדלג על זה כרגע. צריך חשבון GitHub חינמי, ובתרגול הפרויקט נשאר אצלכם במחשב. בנושא Commit & push תראו איך מתרגלים בלי GitHub.
כשתרצו GitHub: פתחו חשבון חינמי (בלי כרטיס אשראי), לחצו על New repository, בחרו Private וצרו. GitHub יציג כתובת שמסתיימת ב־ .git. פתחו מסוף בתיקייה שבה אתם שומרים פרויקטים והריצו git clone עם הכתובת הזו. תקבלו תיקייה חדשה עם הפרויקט בפנים. היא כבר repository, והיא זוכרת את GitHub בשם origin.
עותק הוא לא clone
הכפתור Download ZIP של GitHub והעתקת תיקיות בין מחשבים מביאים רק את הקבצים. ההיסטוריה והקישור ל־GitHub נשארים מאחור. עושים clone פעם אחת בכל מחשב שעובדים עליו. הנושאים הבאים מעבירים שינויים בין העותקים.
מוכיחים שזה אתם
בקשו מה־AI להתקין את הכלי gh של GitHub ולהריץ gh auth login. זו הדרך הכי קלה להוכיח מי אתם, גם ב־repository פרטי וגם בכל push אחר כך. דוגמה: clone ב־HTTPS פותח התחברות בדפדפן; SSH צריך מפתח ב־~/.ssh שנוסף ב־GitHub לפני git clone git@github.com:….
ב־Windows, Git יכול גם לפתוח דפדפן להתחברות. ב־Mac הוא עלול לבקש personal access token, קוד ארוך שיוצרים ב־GitHub, כי GitHub כבר לא מקבל שם את סיסמת החשבון.
אם אתם עובדים עם SSH, רק המפתח הציבורי עולה ל־GitHub. זה הקובץ שמסתיים ב־ .pub, תחת Settings, SSH and GPG keys, New SSH key. המפתח הפרטי נשאר אצלכם במחשב. לעולם אל תדביקו אותו בצ'אט.
אם מופיע Permission denied (publickey), בקשו מה־AI לבדוק שלושה דברים, אחד אחד: האם קיים מפתח, האם הוא נטען, והאם הפרויקט משתמש בכתובת SSH.
שכפלו (clone) את מאגר ה־GitHub שלי לתיקיית הפרויקטים במחשב הזה. הראו לי את הפקודה לפני שאתם מריצים אותה. אחר כך הריצו git status ו־git remote -v. הסבירו במשפט אחד מה כל אחת מהן אומרת לי.
עשה ואל תעשה
תעתיקו את תיקיית הפרויקט שלי למחשב הנייד החדש
בצעו clone ל־repository שלי מ־GitHub במחשב הנייד הזה, ואז הראו לי git log ו־git remote -v כדי שאראה שההיסטוריה והקישור הגיעו איתו.
דוגמה
בצעו clone לפרויקט שלי מ־GitHub אל המחשב הזה, ואז הציגו את חמשת ה־commit האחרונים ואת הכתובת של ה־remote, כדי שאראה שההיסטוריה והקישור ל־GitHub הגיעו איתו.
הדביקו את ההנחיות לסוכן מתוך תיקיית פרויקט. כשההנחיה אומרת "הפרויקט הזה", הכוונה לאפליקציה שבונים בתרגול או לאפליקציה שכבר יש לכם. עדיין אין פרויקט? קראו עכשיו והדביקו אחר כך, בתרגול.
תנו לי את פקודת ה־clone המדויקת לכתובת ה־repository הזו, הריצו אותה אחרי שאגיד כן, והראו לי איך לוודא שההיסטוריה הגיעה.
הגדירו מפתח SSH ל־GitHub במחשב הזה. הסבירו כל פקודה לפני שאתם מריצים אותה, והראו לי בדיוק איזה קובץ להדביק ב־GitHub. אל תדפיסו את המפתח הפרטי שלי בשום מצב.
הסבירו מה ההבדל בין כפתור Download ZIP של GitHub לבין git clone, עם הפרויקט הזה כדוגמה.
צפו
Clone = ליצור במחשב עותק מלא של repository משותף.