
כניסות נדרשות:
- קראו, עקבו והבינו את המאמר שלי על Git . זה יעזור להבטיח שהכל מוגדר ומוכן לעבודה.
- התקן את IntelliJ IDEA.
- הקצו שעה של זמן אישי כדי להשיג שליטה מלאה.
שכפל את הפרויקט באופן מקומי
יש כאן שתי אפשרויות:- אם כבר יש לך חשבון GitHub ואתה רוצה לדחוף משהו אחר כך, עדיף לחלק את הפרויקט ולשכפל עותק משלך.
- שכבו את המאגר שלי ותעשו הכל באופן מקומי בלי יכולת לדחוף את כל העניין לשרת. אחרי הכל, זה המאגר שלי :)
-
העתק את כתובת הפרויקט:
-
פתח את IntelliJ IDEA ובחר "קבל מבקרת גרסה":
-
העתק והדבק את כתובת הפרויקט:
-
תתבקש ליצור פרויקט IntelliJ IDEA. קבל את ההצעה:
-
מכיוון שאין מערכת בנייה וזה מעבר להיקף של מאמר זה, אנו בוחרים באפשרות צור פרויקט ממקורות קיימים :
-
לאחר מכן תראה את המסך היפה הזה:
עכשיו, לאחר שהבנו שיבוט, אתה יכול להסתכל מסביב.
מבט ראשון על IntelliJ IDEA כממשק Git
תסתכל מקרוב על הפרויקט המשובט: אתה כבר יכול לקבל מידע רב על מערכת בקרת הגרסאות. ראשית, יש לנו את חלונית בקרת הגרסה בפינה השמאלית התחתונה. כאן תוכלו למצוא את כל השינויים המקומיים ולקבל רשימה של commits (בדומה ל-"git log"). בואו נעבור לדיון על יומן . יש הדמיה מסוימת שעוזרת לנו להבין איך בדיוק התנהלה הפיתוח. לדוגמה, אתה יכול לראות שנוצר סניף חדש עם כותרת נוספת ל-txt commit, שאוחדה לאחר מכן לתוך ענף המאסטר. אם תלחץ על commit, תוכל לראות בפינה הימנית את כל המידע על ה-commit: כל השינויים והמטא נתונים שלו.



עבודה עם מאגר
מקשי קיצור שימושיים
לעבודה עתידית, עליך לזכור כמה מקשי קיצור שימושיים מאוד:- CTRL+T - קבל את השינויים האחרונים מהמאגר המרוחק (git pull).
- CTRL+K — צור commit / ראה את כל השינויים הנוכחיים. זה כולל גם קבצים ללא מעקב וגם קבצים שהשתנו (ראה מאמר שלי על git, שמסביר זאת) (git commit).
- CTRL+SHIFT+K - זוהי הפקודה לדחיפת שינויים למאגר המרוחק. כל ההתחייבויות שנוצרו באופן מקומי ועדיין לא במאגר המרוחק יידחקו (git push).
- ALT+CTRL+Z — שינויים בקובץ ספציפי חזרה למצב ה-commit האחרון שנוצר במאגר המקומי. אם תבחר את הפרויקט כולו בפינה השמאלית העליונה, תוכל להחזיר שינויים בכל הקבצים.

מה אנחנו רוצים?
כדי לבצע את העבודה, עלינו לשלוט בתרחיש בסיסי המשמש בכל מקום. המטרה היא ליישם פונקציונליות חדשה בענף נפרד ולאחר מכן לדחוף אותה למאגר מרוחק (ואז אתה גם צריך ליצור בקשת משיכה לסניף הראשי, אבל זה מעבר לתחום של מאמר זה). מה נדרש לעשות זאת?-
קבל את כל השינויים הנוכחיים בסניף הראשי (לדוגמה, "מאסטר").
-
מסניף ראשי זה, צור סניף נפרד לעבודה שלך.
-
יישם את הפונקציונליות החדשה.
-
כנסו לסניף הראשי ובדקו אם חלו שינויים חדשים בזמן שעבדנו. אם לא, אז הכל בסדר. אבל אם היו שינויים, אז אנחנו עושים את הפעולות הבאות: הולכים לענף העובד ומבססים מחדש את השינויים מהענף הראשי לענף שלנו. אם הכל ילך כשורה, אז מעולה. אבל בהחלט ייתכן שיהיו קונפליקטים. כפי שזה קורה, הם פשוט יכולים להיפתר מראש, מבלי לבזבז זמן במאגר המרוחק.
האם אתה תוהה למה אתה צריך לעשות את זה? זה נימוסים טובים ומונע מעימותים להתרחש לאחר דחיפת הסניף שלך למאגר המקומי (יש, כמובן, אפשרות שעימותים עדיין יתרחשו, אבל הוא הופך להיות הרבה יותר קטן ).
- דחף את השינויים שלך למאגר המרוחק.
לקבל שינויים מהשרת המרוחק?
הוספתי תיאור ל-README עם התחייבות חדשה ואני רוצה לקבל את השינויים האלה. אם בוצעו שינויים הן במאגר המקומי והן במאגר המרוחק, אז אנו מוזמנים לבחור בין מיזוג לבסיס מחדש. אנחנו בוחרים להתמזג. הזן CTRL+T :

צור ענף חדש המבוסס על מאסטר
הכל פשוט כאן.-
עבור לפינה השמאלית התחתונה ולחץ על Git: master . בחר + סניף חדש .
השאר את תיבת הסימון סניף Checkout מסומנת והזן את שם הסניף החדש. עבורי, זה יהיה Readme-משפר .

Git: master לאחר מכן ישתנה ל- Git: readme-improver .
בואו נדמה עבודה מקבילה
כדי שיופיעו קונפליקטים, מישהו צריך ליצור אותם :D אני אערוך את ה-README עם commit חדש דרך הדפדפן, ובכך ידמה עבודה מקבילה. זה כאילו מישהו עשה שינויים באותו קובץ בזמן שעבדתי עליו. התוצאה תהיה עימות. אני אסיר את המילה "fully" משורה 10.יישם את הפונקציונליות שלנו
המשימה שלנו היא לשנות את ה-README ולהוסיף תיאור למאמר החדש. כלומר, העבודה ב-Git עוברת דרך IntelliJ IDEA. הוסף את זה:


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



- קבל את שלך - קבל רק שינויים מ-readme-improver.
- קבל את שלהם - קבל רק שינויים מהמאסטר.
- מיזוג - בחר בעצמך מה אתה רוצה לשמור ומה לבטל.

- אלו הם השינויים מ-readme-improver.
- התוצאה הממוזגת. לעת עתה, זה מה שהיה קיים לפני השינויים.
- השינויים מסניף המאסטר.

דחף שינויים לשרת המרוחק
השלב הבא הוא לדחוף את השינויים לשרת המרוחק וליצור בקשת משיכה. כדי לעשות זאת, פשוט הקש CTRL+SHIFT+K . ואז נקבל:

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

קישורים שימושיים
- CodeGym: תחילת העבודה עם Git: מדריך מקיף למתחילים
- GitHub: פרויקט הדגמה לתרגול
- JetBrains: הגדר מאגר Git
- GitHub: החשבון שלי
GO TO FULL VERSION