
git status מראה working directory נקי.README.md, קובץ .gitignore עם רשימת סיומות שלא יעקבו אחריהן, ורישיון. המערכת יצרה שלושה קבצים של מטא-דאטה.git remote add origin <URL>. הפקודה git remote -v מציגה את החיבורים, ו-git help remote מסבירה אותם.git push -u origin master שולח את הענף המקומי ל-GitHub. ב-GitHub נוצרו שני ענפים: main עם שלושת הקבצים שנוצרו עם ה-repository, ו-master עם הקבצים שהועלו.git add ., git commit -m "..." ואז git push. ה-commit לבדו לא מעלה את הקובץ ל-repository המרוחק.git show-branch מראה באיזה ענף נמצאים. git checkout master או git checkout main עוברים ביניהם, והקבצים בספרייה מתחלפים מיד לפי הענף. git fetch origin מוריד מידע מה-remote, ו-git pull מסנכרן.git checkout נכתבה בטעות כ-checkput, ו-Git תיקן אוטומטית. זה קורה בגלל הגדרת autocorrect בקובץ ה-config הגלובלי, שאפשר לראות עם git config --global --edit.main הוא שם ברירת המחדל שנוצר ב-GitHub, ואילו master הוא הענף שנוצר מקומית בהתקנה.הטקסט המלא של הדקות הראשונות בהרצאה «בחירת branch ב-git» בקורס הווידאו של PracticU – כתוביות בעברית עם זמן התחלה לכל פסקה. כך תוכלו לקרוא ולחפש את הנושאים לפני שמתחילים ללמוד.
אז מה יש לנו כרגע אם אנחנו מריצים את הגיט סטטוס אנחנו מגלים שיש לנו כרגע אוסף של קבצים בתוכם נמצאת ספריית מחקר שהיא כרגע לא רלוונטית אנחנו יכולים להעיף את אותה ספרייה כדי להעיף אותה גם את מה שיש מתחתיה אז אנחנו צריכים לכתוב עובדי רקטורי s והכל ולאחר prompt כשאנחנו מוודאים זאת אז yes ואם עכשיו עכשיו אנחנו נריץ שוב פעם git סטטוס המצב
שלנו נקי כל ה-working directory שלנו נקי כל מה שהיה צריך לעלות עלה למעלה כל מה שלא היה צריך לעלות נמחק ואין לנו כרגע שינויים שאנחנו צריכים לעשות עליהם קומית או stage להעלות אותם לתוך הריפוזיטורי מה כן אנחנו רוצים לעשות המטרה שלנו כרגע זה להתחבר לתוך remote של version control כלומר לעלות את כל הקבצים שלנו תחת אשר יהיו בריפוזיטורי
מקומי, לעלות אותם לתוך ריפוזיטורי בענן. הדרך לעשות זאת, אמרנו, דרך גיט-האב. גיט-האב, האפשרות שלי ליצור ריפוזיטורי שיהיו קיימים בתוך הרשת, בתוך ענן, חשופים לעיני כול, אבל משם אני אוכל כבר לצמוח, משם אני אוכל לנהל אותם דרך ה-Web עצמו.
זהו הריפוזיטורי שכרגע קיימים לי, אני יכול ליצור ריפוזיטורי חדש. לחצתי על New, ובדבר הראשון שאותו מבקשים ממני לעשות, זה תחת ה-Owner שלי ליצור שם יוניקי של אותו ריפוזיטורי.
אז מאחר ואנחנו לומדים כאן על פרקטי-קיו גיט, אז אני כותב כאן את אותו ריפוזיטורי. יכול להיות שהייתי רושם כאן שם שהוא לא היה יוניקי והמחשב לא היה מכוון אותו.
והיה אומר לי תשמע אני לא יכול לכתוב לך tcdba אני לא יכול ליצור לך את זה מאחר ויש לך כבר ריפוזיטורי כזה אז אני לא אוכל ליצור url יוניקי שייצג לך אותו באופן חד חד ערכי ולאחר שאני מקבל את ההודעה הזרה הזאת הודעת שגיאה אז אנחנו צריכים לבחור בעצם שם שהוא יהיה יוניקי ברמת היוזר שלי ברמת האונר
וכמאחר ולאחר שאני יוצר אותו אני בעצם מקבל url לאותו ריפוזיטורי. אז בחרנו כאן את practicue.git אני יכול לתת כאן איזשהו טוטוריאל איזשהו הסבר demo for git קורס לטובת אנשים אני חייב לציין שהוא יהיה מסוג public מאחר ואם אני ארצה שהוא יהיה private על מנת לא לחשוף אותו בפני האנשים כולם אז הוא יהיה חייב אותי לבצע תשלום עם כל המגבלות שיש לאותו פרויקט עצמו.
אני לא אוכל לשתף אותו עם האנשים, אבל אם אני רוצה שהוא יהיה שיתופי ופתוח, anyone can see this repository, אבל אני יכול לבחור you choose who can commit. כולם יכולים לראות, כולם יכולים לקרוא בלבד את מי שאני רוצה לתת לו אפשרות לעשות שינוי, כלומר לעדכן לי את הקבצים, אז אני צריך להוסיף אותו כ-add collaboration כפי שאנחנו נראה בהמשך.
Add read me files אנחנו נראה אותם בהמשך, אני יכול להוסיף כאן איזשהו license agreement או git ignore, כלומר files שבהם רשימת files שאותם אנחנו לא רוצים שהוא יוסיף אותם לתוך הgit והוא יתעלם מהם.
ישנם הרבה מאוד מצבים שבתוך הספרייה שלי יש לי כאן אוסף של קבצים, קבצי doc, שאותם אני לא רוצה שהוא ינטר וגם לא ייתן לי עליהם הודעת שגיאה, אז אני יכול להוסיף אותם לתוך קבצי איגנור, ואת כל זה אנחנו כרגע מוסיפים.
המערכת מעניקה לי אפשרות לציין אילו דברים אנחנו לא רוצים שהוא ייתן לי, דברים שהם סקריפטיים, אדה, אנדרייד, דברים שהם כרגע, או שאני בוחר כרגע שהם נאן, לא בוחר איזושהי ספרייה, איזשהו טמפלט של קבצים, שיש בהם בעצם בקובץ עצמו בסך הכל בנקודת גיטיגנו בסך הכל יש אוסף של סיומות של קבצים שמהם
הגיט מתעלם אם אני אכנס כאן לתוך c תחת users בספרייה שלנו users working directory ואנחנו נוכל כאן למצוא את ה... כשאני אוסיף כאן את ההגדרות עצמן אז אני אוכל לראות כאן ותגיד גנור כקובץ שמציין לי אילו סיומות להתעלם מהם.
אז אנחנו נוסיף את שלושתם, פאבליק, וניצור לעצמנו את הריפוזיטור האלה. אם אנחנו יוצרים כבר גיט גנור, אז אנחנו חייבים לבחור כאן איזשהו סיומות. למשל, אם אני רוצה כאלה שהן מהטמפלייט של C, או שאני לא מציין את זה, אני כאן בוחר כאן דוגמה שאותה אנחנו לא רוצים ואם אנחנו מציינים כאן איזשהו license מישהו שצריך לחתום או לאשר איזשהו license אז
אנחנו צריכים לבחור אותו מתוך הרשימה ורק אז אני אוכל לבחור את הקריאת ריפוזיטורי בואו נעשה זאת אז יצרתי לעצמי כרגע ריפוזיטורי חדש מזל טוב הוא נמצא ברשת אין בו קבצים קבצי דאטה יש בו שלושה קבצים כמטה דאטה שמתארים את הפרויקט עצמו readme.md by default כשאנחנו
יוצרים את readme.md מה שקורה כאן הוא יוצר לנו את שם הריפוזיטורי וכשהוא יוצר אותו הוא יוצר אותו בפורמט של html דהיינו שאת זה הוא יוצר בתגית של h1 בתוך html ואת זה אני יכול ליצור אותו בתגית של h2 אם אני מסמן כאן פעמיים סולמית ווואנס אנחנו שומרים את זה הרעיון של קובץ רידמי שהוא קובץ שנפתח בצורה ויזואלית כאן ברגע שיצרנו את הריפוזיטורי שלנו.
אז הריפוזיטורי שלי כרגע פתוח קיים לטובת כל המשתמשים עצמם אם אני יוצא רגע מהקובץ של הרידמי אני רואה שיש בו שלושה קבצים שהגדרנו אותם.
אבל זה הכל אם אני רוצה עכשיו לחבר את הריפוזיטורי הזה בענן לריפוזיטורי המקומי שלי, שימו לב מה אנחנו עושים. אני יכול לקחת כאן את הלינק שלו, את ה-URL, את המזייח הדרכי שלו, לוחץ כאן על הכפתור על מנת להעתיק את אותו URL.
נגיע לכאן. כאן אנחנו רוצים להגדיר שכל פעם שאנחנו מדברים בעצם על גיט רימוט, צריך להגדיר מהו אותו רימוט.
אם אני אכתוב כאן גיט רימוט מינוס v על מנת לזרות את כל ההגדרות של ה-remote העבודות המרוחקות שיש לי, כרגע אין לי כלום. אבל אם אני רוצה להוסיף עוד הגדרה של ה-remote בעצמו, להוסיף remote נוסף אלינו, אז הפקודה היא git remote.
אם אני ממש לא יודע איך אנחנו עושים זאת, אז אני כותב כאן git help remote, וייפתח לי כאן אותו קובץ שנותן לי בעצם טוטוריאל הסבר מה אני יכול לעשות אז מה זה מינוס v שנותן לי רשימה של כל הרימוטים שכרגע מחוברים אליי ויש לי גם גיט רימוט אד על מנת להוסיף רימוט נוסף בואו נחזור ונעשה זאת גיט רימוט אנחנו צריכים להוסיף עוד איזה רימוט
בואו נקרא לו אוריג'ן ובאוריג'ן אני צריך להגיד לאן הוא מצביע ומאחר ואנחנו רוצים להצביע לרימוט, לריפוזיטורי שכבר יצרנו אותו והנה יש לנו כאן כרגע את ה-URL היוניקי שלו שהעתקתי אותו אליי כרגע לתוך ה-Clipboard, אני יכול כאן להדביק אותו והנה יצרתי לעצמי עכשיו רימוט נוסף. בואו נראה שהרימוט הזה מוגדר,
אם אני אכתוב כאן מינוס V, אז הוא יגיד לי כן, יש לך כאן רימוט שאתה יכול לעשות ממנו Fetch ו-Push, לעלות ולהוריד ממנו, וזה כל מה שאנחנו רוצים לעשות, אני יכול לכתוב כאן git push -co על מנת לקבל, לפנות אליו בשם שלו שזה origin ולפנות לתוך המאסטר, לתוך הברנץ' שאליו אנחנו רוצים לכתוב.
כאשר יצרנו את זה אוטומטית נוצר לנו כאן ברנץ', ברנצ'ים מסוימים. הדיפולט ברנץ' שלנו כרגע הוא מיין, ולכן אני צריך לכתוב כאן שאני רוצה להעלות את זה לתוך המיין.
האם הוא ייתן לי את זה לתוך המאסטר? כן. אז המיין זה אליאס לשם, לדיפולט ברנץ', שבעצם אם אנחנו מסתכלים, המאסטר הוא בעצם הברנץ' שאליו אנחנו יכולים לעלות.
ואם אני אסתכל כרגע בתוך המאסטר שלי, מה יש בו? כל הקבצים שהיו לי לוקאלית כרגע ועשיתי להם קומיט כרגע עלו לתוך הרשת בעצמה יחד עם הלייבל של אותו קומיט.
אז הנה יש לי כאן אוסף של גרסאות או אוסף של הקבצים עצמם שהם כרגע מגובים לי לא בצורה מקומית בלבד על המחשב שלי אלא העליתי אותם.
אני מקבל כאן חיווי שהם כולם עלו לתוך המאסטר לתוך הברנץ' המרכזי שנקרא מאסטר והם נמצאים שם בפנים. על מנת למזג אותם אז המערכת אומרת לי תשמע הם כרגע נמצאים שם בתוך המאסטר אבל אם אתה רוצה למזג אותם כגרסה בתוך המאסטר עצמו אתה צריך ליצור פול ריקווסט בקשת עדכון לתוך המאסטר וזה כבר נעשה, זה כבר תהליך פנימי שנעשה בתוך הגיטאב,
על כך נדבר עוד בהמשך. מבחינת הגיט כרגע אין לנו שום שינוי, כי את כל המידע שיש לנו כבר העלינו אותו בפנים. בואו נעשה דוגמה נוספת. נפתח כאן קובץ, ניקח כאן את הקובץ Select שיש לנו אותו, נערוך אותו, קריאה טייבל, קסטומר, כאן אנחנו רוצים לשמור ID שיהיה מסוג M ו-Name
שיהיה מסוג SysName כדאטה טייפ, ודבר שאנחנו רוצים לשמור על אותו שם לקוח, מהו ה-company name, וגם עליו אנחנו נגדיר אותו כ-Varkar. לסגור, נשמור את התוכנית עצמה, הקוד שלנו שמור.
במצב הזה, אם נרצה לראות מה הסטטוס של כל הקבצים, אז כן, יש לנו קובץ שכרגע השתנה. כדי לעבוד עליו, אז אנחנו צריכים להוסיף אותו לתוך ה-stage, אד סטייג' והפעם אנחנו נסתפק בנקודה על מנת להעלות את כולם וגט קומיט על מנת להעלות אותו את כל הקבצים מינוס m create customer table כדי להוסיף אותו אז הנה הקומיט
שלנו עלה הקובץ עדיין לא עלה לריפוזיטורי אלא כדי שהוא יעלה לריפוזיטורי אנחנו צריכים להמשיך הלאה בשלב הבא לעשות גט פוש למי מינוס u לאורייג'ן כמו שהגדרנו אותו ולתוך הברנץ' שעליו אנחנו עובדים שהוא כרגע ברנץ' של המאסטר שאליו אנחנו טוענים את הנתונים.
אני חוזר לתוך הגיטהאב הנה כרגע יש לנו רק שלושה קבצים בואו נעשה כאן רפרש אנחנו נראה שהקובץ סלקט שלנו one מנטס אגו לפני דקה אחת בדיוק הוא השתנה והנה אנחנו יכולים לראות את כל התוכן שלו מה יש בו בעצם שאנחנו יכולים שהשתנה או שאנחנו יכולים לעבוד עליו.
הנה הקובץ עם כל הדאטה גם כאן ניתן לבצע עליו קצת שינויים אם אנחנו רוצים להוסיף עוד שורות להוסיף עוד עמודות זה פחות טוב עדיף לעשות את זה דרך חגית אבל אם אנחנו כבר נמצאים בתוך הגיט-האב ובתוכו אנחנו רוצים ליצור שינויים, אין בעיה לעשות אותם, אני רק לצורך הדוגמה מוסיף כאן עמודה
נוספת ושומר את השינויים. Commit Changes, הם נשמרים בפנים והקובץ שלנו, הנה Now, השתנה כרגע והוא Updated.
נחזור רגע לתוך הגיט-האב ונראה שבעצם בתוך הריפוזיטורי שלי נוצרו לי שני Branches. ברנץ' אחד שנקרא מיין ובתוך המיין יש לי את שלושת הקבצים שאותם יצרנו בעת יצירת הריפוזיטורי הגיט איגנור לייסנס והרידמי אבל יש לנו גם ברנץ' נוסף הברנץ' של המאסטר בתוך המאסטר רק נמצאים שלושת הקבצים הללו כלומר כל שינוי שעשיתי אותו בתוך קובץ הסלקט ההוספה כאן של העמודה סיטי בא לי
לביטוי בתוך ברנץ' ספציפית בואו ננקה רגע את הלוח ונחזור לכאן אם אני אני רוצה לדעת איפה אנחנו נמצאים באיזה ברנץ', אז אני יכול לכתוב כאן גיט show קו אמצעי ברנץ', על מנת לדעת. אז הוא אומר לי, כרגע מבחינת הברנץ' שבו אתה נמצא, אז אתה נמצא בתוך המיין, אבל יש לך אפשרות להיכנס לתוך המאסטר.
יש כאן קבצים שמוגדרים בתוך המאסטר. כדי לעבור לברנץ' אחר, אז הפקודה כאן זה גיט צ'ק אאוט, כלומר, אני צריך להוריד עכשיו ברנץ' נוסף, לעבור לברנץ' נוסף.
הברנץ' הנוסף שאליו אני רוצה לעבור זה הברנץ' שמסומן לנו כרגע, שכתוב עליו git checkout master. you code git command name checkput במקום checkout.
אז כתבתי כאן משהו שגוי, והנה ה-autocorrect, מה שהוא עשה לי, וזה autocorrect assuming that you meant checkout.
זו אפשרות שיש לנו אותה בתוך הקובץ קונפיג, הנה, אולי זה שווה גם לראות את זה,