DCSIMG
November 2011 - Posts - Guy Burstein's Blog

Guy Burstein's Blog

Developer Evangelist @ Microsoft

News

Guy Burstein The Bu

Disclaimer
Postings are provided 'As Is' with no warranties and confer no rights.

Guy Burstein LinkedIn Profile

TwitterCounter for @bursteg

November 2011 - Posts

Git על Windows: רישום ל- GitHub והגדרות ראשוניות

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

הכירות עם GitHub

מדריך Git על Windows: מדריך ל- GitHubבעוד Git הוא “שיטה” לניהול תצורת קבצי הפרוייקט שלנו ומאפשר לנו ליצור Repositiroes מקומיים, להעביר לסביבת Staging מקומית וכו’, מתישהו במהלך התהליך נרצה לפרסם את הפרוייקט שלנו ל- Repository מרוחק. זה יכול להיות כחלק מפרוייקט רב משתמשים, לצורך ניהול הגירסאות של פרוייקט שרק אנחנו עובדים עליו או לצורך Deployment של אפליקציות (עוד על הנושא הזה בפוסט מאוחר יותר).

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

בעבודה עם GitHub משתמשים לרוב כדי:

  • להעלות קוד כדי לנהל את הגירסאות שלו
  • ליצור עותק של פרוייקט כדי לבצע בו שינויים (clone, fork)
  • לעקוב אחרי פרוייקטים מעניינים

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

רישום ויצירת משתמש ב- GitHub

נתחיל מהעמוד הראשי של אתר GitHub בכתובת: http://GitHub.com

מדריך Git על Windows: מדריך ל- GitHub

במרכז העמוד (לפחות נכון ליום כתיבת הפוסט) יש כפתור בשם “Plans, Pricing and Signup” למעבר לעמוד הרישום.

מדריך Git על Windows: מדריך ל- GitHub

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

מדריך Git על Windows: מדריך ל- GitHub

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

בסיום התהליך, נגיע ל- Dashboard בו אפשר לבצע פעולות בסיסיות כמו יצירת Repository, שכפול Repository ועוד.

מדריך Git על Windows: מדריך ל- GitHub

הגדרות ראשוניות לעבודה עם GitHub

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

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

מדריך Git על Windows: מדריך ל- GitHub

נבחר בקישור SSH Public Keys כדי לעבור לעמוד ניהול מפתחות ה- SSH עבור התקשורת המאובטחת.

מדריך Git על Windows: מדריך ל- GitHub

עמוד זה מציג את מפתחות ה- SSH הציבוריים המשוייכים לחשבון שלנו. נלחץ על הקישור Add another public key כדי להוסיף מפתח חדש:

מדריך Git על Windows: מדריך ל- GitHub

איפה נמצא מפתח ה- SSH?

את מפתח ה- SSH יצרנו בחלק הקודם במדריך Git על Windows. אם לא קראתם את הפרק הקודם, הוא מומלץ מאד.

לאחר יצירת מפתחות ה- SSH נוצרו לנו בספריית המשתמש (אצלי: c:\users\guyb\.ssh) שני קבצים. אחד מהם הוא המפתח הפרטי (id_rsa) והשני הוא המפתח הציבורי (id_rsa.pub) בו נשתמש כעת כדי להגדיר תקשורת מאובטחת עם Git Repository מרוחק.

מדריך Git על Windows: מדריך ל- GitHub

אם נפתח את הקובץ id_rsa.pub עם עורך טקסט כלשהו (Notepad), נראה שהתוכן שלו דומה לתוכן הבא:

מדריך Git על Windows: מדריך ל- GitHub

נעתיק את התוכן בדיוק כמו שהוא ומדביק אותו במקום המתאים במסך הזנת מפתח ה- SSH (נשים לב לא להוסיף בטעות רווחים או תוים מיותרים) ונלחץ על Add Key.

מדריך Git על Windows: מדריך ל- GitHub

המפתח יבדק ובסוף התהליך יתווסף לרשימה.

הגדרות מקומיות לצורך התחברות ל- GitHub

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

כדי למצוא את ה- Token, נלחץ על הקישור Account Admin באיזור ה- Account Settings.

מדריך Git על Windows: מדריך ל- GitHub

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

מדריך Git על Windows: מדריך ל- GitHub

כדי לבצע את ההגדרה, נפתח חלון Git Bash עם הוא עדיין לא פתוח, ונכתוב את הפקודות הבאות שמגדירות את התקשורת עם GitHub (בהחלפת שם המשתמש וה- Token כמובן):

git config --global github.user username
git config --global github.token 0123456789yourf0123456789token

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

מדריך Git על Windows: מדריך ל- GitHub

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

ssh -T git@github.com

למרות שאתר GitHub לא מאפשר תקשורת ב- SSH, נשתמש בפקודה הזאת כדי לבדוק שההזדהות הינה תקינה.

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

מדריך Git על Windows: מדריך ל- GitHub

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

Posted: Nov 02 2011, 02:57 PM by Guy Burstein | with 2 comment(s)
תגים:,

מדריך Git על Windows: התקנה, הגדרות ראשוניות ושימוש בסיסי

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

התקנת Git בסביבת חלונות

הדרך המומלצת לעבודה עם Git בסביבת חלונות היא ע”י ה- Client ששמו msysgit. בעמוד הפרוייקט נחפש את הגירסא העדכנית ביותר של Gitברשימה (Full installer for official Git for Windows) ונלחץ על הקישור כדי להגיע לעמוד ההורדה.

Git על Windows חלונות

בעמוד ההורדה, נלחץ על הקובץ להורדה ונשמור אותו מקומית.

Git על Windows חלונות

לאחר סיום ההורדה, נתחיל בתהליך ההתקנה.

Git על Windows חלונות

בעמוד ה- Welcome נלחץ על Next.

Git על Windows חלונות

נאשר את תנאי השימוש ונמשיך הלאה.

Git על Windows חלונות

נקבע / נאשר את מיקום ההתקנה של Git על חלונות ונמשיך הלאה.

Git על Windows חלונות

במסך הגדרות ההתקנה נבצע מספר התאמות: נבחר האם להוסיף קיצורי דרך על ה- Desktop או בשורת ה- Quick Launch, וכן נסמן את האפשרויות של הוספת הפקודות ל- Context Menu בעת לחיצה ימנית על קבצים. זה יעזור לנו מאד בעבודה עם Git בסביבת חלונות בהמשך.

Git על Windows חלונות

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

Git על Windows חלונות

במסך הגדרות סביבת ההפעלה נבחר באפשרות “Use Git Bash only”.

Git על Windows חלונות

כידוע, מערכות הפעלה שונות מקודדות תוים באופן שונה, ואחד ההבדלים הבולטים הוא התו CRLF (תו המציין מעבר שורה) ששונה באופן שהוא מיוצג בין Windows למערכות הפעלה אחרונות. כדי לא להתקל בבעיות בעת עבודה על פרוייקטים שלאו דווקא נוצרו בסביבת חלונות נבחר באפשרות: Checkout as-is, commit as-is.

Git על Windows חלונות

ההתקנה תתבצע, ותיארך מספר שניות ובסופה נקבל את מסך סיום ההתקנה.

Git על Windows חלונות

הפעלה ראשונית והגדרות ראשוניות

לאחר ההתקנה נפעיל את Git Bash מתפריט התוכניות.

Git על Windows חלונות

Git Bash הוא ממשק Console לעבודה מול Git. נשתמש בו לצורך אינטראקציה עם Git דרך פקודות.

Git על Windows חלונות

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

הגדרת שם המשתמש וכתובת המייל

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

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

git config --global user.name ‘Guy Burstein’

והגדרת כתובת המייל:

git config --global user.email guyb@microsoft.com

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

Git על Windows חלונות

יצירת מפתחות SSH לתקשורת מאובטחת מול מאגר הקוד

SSH (ראשי תיבות של Secure Shell) הוא פרוטוקול לתקשורת מאובטחת בין מחשבים, ומאפשרת להתחבר למחשב מרוחק ולבצע מולו פקודות.

כדי שנוכל לעבוד מול שרת Git באופן מאובטח, עלינו להגדיר מפתח SSH ייחודי לנו. כדי לעשות זאת, נשתמש בפקודה הבא (בשינוי כתובת המייל כמובן):

ssh-keygen –C ‘guyb@microsoft.com’ –t rsa

Git על Windows חלונות

לאחר הקשת הפקודה נישאל איפה לשמור את הקובץ המכיל את מפתח ה- SSH. אפשר להקיש שם של קובץ או פשוט לאשר ע”י לחיצה על  אנטר את מיקום ברירת המחדל (בתיקיית ה- User תיווצר תיקיית ssh. ובתוכה ישמרו הקבצים הרלוונטים).

Git על Windows חלונות

כעת נתבקש להזין passphrase, וגם כאן נוכל לאשר ע”י הקשה על אנטר פעמיים.

בסיום התהליך אמור להיראות הפלט כך:

Git על Windows חלונות

התהליך ייצור שני קבצים בתיקיית המשתמש שלי (אצלי: c:\users\guyb\.ssh). אחד מהם הוא המפתח הפרטי (id_rsa) והשני הוא המפתח הציבורי (id_rsa) בו נשתמש כדי להרשם וליצור remote repositories מאוחר יותר.

Git על Windows חלונות

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

עד כאן ההגדרות הנדרשות לעבודה עם Git בסביבת חלונות.

שימוש בסיסי ב- Git

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

Git על Windows חלונות

לאחר ביצוע פעולת Build לפרוייקט (היוצרת את ספריות ה- Bin וה- Obj), נפתח את הספרייה בה יושב הפרוייקט, נלחץ על הכפתור הימני של העכבר ונבחר באפשרות Git Bash Here.

Git על Windows חלונות

יצירת Git Repository

כעת, ניצור Git Repository עבור ה- Console Application שיצרנו. לאחר פתיחת Git Bash בספריית הפרוייקט נקבל את החלון הבא:

Git על Windows חלונות

כדי ליצור Repository מהתיקייה הנוכחית נשתמש בפקודה:

git init

זה הכל? כן! התיקייה הנוכחית היא כרגע Repository מקומי, ונקבל את הפלט הבא:

Git על Windows חלונות

נשים לב כי המילה master נוספה לשורת המיקום שלנו. השם master מציין את ה- branch שלנו בעץ הגירסאות של הפרוייקט, והענף הראשון שנוצר עבור פרוייקט הוא master. נדבר יותר על branches בפוסט מאוחר יותר.

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

Git על Windows חלונות

בדיקת סטטוס ניהול הקבצים (git status)

כדי לבדוק את סטטוס ניהול הקבצים ב- repository נריץ את הפקודה:

git status

ונקבל את הפלט הבא:

Git על Windows חלונות

הפלט הזה מציג מספר קבצים בצבע בורדו, שהם הקבצים שקיימים בתיקייה, אך לא משוייכים ל- Repository (זה מסביר את הכותרת Untracked files). בין הקבצים ניתן לראות קבצים חיוניים לפרוייקט כמו program.cs, תיקיית Properties ועוד, אך גם תיקיות וקבצים שלא נרצה לשמור אותם ב- Repository (כמו התיקיות Bin ו- Obj שדאגנו ליצור קודם). אלו קבצים שמפתח אחר בפרוייקט לא צריך אותם כדי לעבוד על הפרוייקט, לבנות אותו ולהריץ אותו.

שימוש בקובץ git ignore כדי להתעלם מקבצים מסויימים

כדי לציין למערכת Git כי ישנם קבצים שלא נרצה לנהל אותם, עלינו ליצור קובץ בשם gitignore. (קובץ ללא שם, ועם סיומת gitignore).

כדי ליצור קובץ ignore כזה נשתמש בפקודה touch שיוצרת קובץ ריק לפי שם נתון:

touch .gitignore

Git על Windows חלונות

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

Git על Windows חלונות

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

obj
bin *.csproj.user

לסיום, נשמור את הקובץ. נוכל תמיד לערוך אותו ולהוסיף קבצים בשלב מאוחר יותר.

אם כעת נציג סטטוס (ע”י שימוש בפקודה git status), נראה שרשימת הקבצים קטנה. היא מכילה אמנם את קובץ ה- ignore אך לא מכילה את רשימת הקבצים שביקשנו לא להוסיף.

Git על Windows חלונות

העברה ל- Staging

בניגוד למערכת ניהול תצורה אחרות בהן מבצעים Check In לקבצים ישירות לשרת, תהליך העבודה עם Git מכיל עוד שלב באצמע.

Git על Windows חלונות

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

כדי להוסיף קבצים לסביבת ה- Staging, נשתמש בפקודה git add עם שמות הקבצים. לדוגמא, נשתמש בפקודה הבאה כדי להוסיף את כל הקבצים תחת הספרייה המקומית:

git add .

אם נציג כרגע את סטטוס ניהול הקבצים שלנו ע”י git status נראה את הפלט הבא:

Git על Windows חלונות

הקבצים בספרייה הנוכחית ובספריות המשנה התווספו ומוצגת הכותרת: “Changes to be committed”. כלומר, הקבצים נמצאים בסביבת ה- Staging ומוכנים להעברה ל- Repository המקומי.
הם מסומנים בירוק ומצויין ליד כל אחד מהם new file. במהלך העבודה נוכל להוסיף עוד קבצים וספריות.

להעברת הקבצים האלה ל- Repository המקומי, נשתמש בפקודה git commit בצירוף label כלשהו שיתן תיעוד כלשהו לפעולה. למשל:

git commit -m "my first commit to git"

הרצת הפקודה תציג לנו את הפלט הבא.

Git על Windows חלונות

אם נציג כרגע את הסטטוס נראה שאין קבצים חדשים / ששונו וכו’ שניתן להוסיף ל- Repository.

Git על Windows חלונות

אם נשנה קובץ בספרייה המקומית (למשל את Program.cs) ונציג שוב סטטוס, נראה שהוא מופיע כקובץ ששונה. אנחנו יכולים להעביר אותו לסביבת ה- Staging ע”י git add, או להשאיר אותו כרגע בסביבת העבודה.

Git על Windows חלונות

ע”י שימוש בפקודה git log נוכל להציג את לוג השינויים שיש לנו ב- Repository:

Git על Windows חלונות

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

סיכום

בפרק הראשון של מדריך Git על Windows ביצענו התקנה של Git על Windows, הגדרנו הגדרות ראשוניות וראינו דוגמא לעבודה מול Repository מקומי. בפרקים הבאים נלמד על העבודה עם GitHub, נכיר את AppHarbor ונראה איך עובדים איתם באמצעות Git.