CodeGym /בלוג Java /Random-HE /שידוך שנעשה בגן עדן: Git ו-IntelliJ IDEA
John Squirrels
רָמָה
San Francisco

שידוך שנעשה בגן עדן: Git ו-IntelliJ IDEA

פורסם בקבוצה
דבק במסורת המבוססת, אני מברך אותך כמהנדסי תוכנה בכירים לעתיד. שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 1המאמר של היום הוא ההרחבה ההגיונית של המאמר שלי על Git . במאמר על Git, תיארתי כיצד לעבוד עם Git בשורת הפקודה. היום אני אראה לכם איך לעשות הכל ב-IntelliJ IDEA. בתחילת דרכי כמפתח, השתמשתי בשורת הפקודה וחשבתי שאני לא צריך GUI בשביל זה. הרי הכל היה ברור כמו שהיה... אבל זה היה ממש עד לרגע שבו התחלתי להשתמש ב-Git ב-IntelliJ IDEA... מלכתחילה אני רוצה לומר שאני מתאר את החוויה האישית שלי. ישנן מספר דרכים לפתור כל בעיה נתונה ב-IntelliJ IDEA. אם אתה מכיר דרך טובה יותר ממה שאתאר במאמר, כתוב אותה בתגובות ונדון בה.

כניסות נדרשות:

  1. קראו, עקבו והבינו את המאמר שלי על Git . זה יעזור להבטיח שהכל מוגדר ומוכן לעבודה.
  2. התקן את IntelliJ IDEA.
  3. הקצו שעה של זמן אישי כדי להשיג שליטה מלאה.
בואו נעבוד עם פרויקט ההדגמה שהשתמשתי בו למאמר על Git. עדכון:בזמן הפרסום, ממשק המשתמש החדש של GitHub יהיה זמין, וכמה אייקונים לא יהיו במקום שבו הם מוצגים במאמר. אל תיבהל: אתה רק צריך לא לעבור לממשק המשתמש החדש, או לחפש אותם.

שכפל את הפרויקט באופן מקומי

יש כאן שתי אפשרויות:
  1. אם כבר יש לך חשבון GitHub ואתה רוצה לדחוף משהו אחר כך, עדיף לחלק את הפרויקט ולשכפל עותק משלך.
  2. שכבו את המאגר שלי ותעשו הכל באופן מקומי בלי יכולת לדחוף את כל העניין לשרת. אחרי הכל, זה המאגר שלי :)
כדי לשכפל פרויקט מ-GitHub, עליך להעתיק את קישור הפרויקט ולהעביר אותו ל-IntelliJ IDEA:
  1. העתק את כתובת הפרויקט:

    שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 2
  2. פתח את IntelliJ IDEA ובחר "קבל מבקרת גרסה":

    שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 3
  3. העתק והדבק את כתובת הפרויקט:

    שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 4
  4. תתבקש ליצור פרויקט IntelliJ IDEA. קבל את ההצעה:

    שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 5
  5. מכיוון שאין מערכת בנייה וזה מעבר להיקף של מאמר זה, אנו בוחרים באפשרות צור פרויקט ממקורות קיימים :

    שידוך עשוי בגן עדן: Git ו-IntelliJ IDEA - 6
  6. לאחר מכן תראה את המסך היפה הזה: שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 7עכשיו, לאחר שהבנו שיבוט, אתה יכול להסתכל מסביב.

מבט ראשון על IntelliJ IDEA כממשק Git

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

עבודה עם מאגר

מקשי קיצור שימושיים

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

מה אנחנו רוצים?

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

  2. מסניף ראשי זה, צור סניף נפרד לעבודה שלך.

  3. יישם את הפונקציונליות החדשה.

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

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

  5. דחף את השינויים שלך למאגר המרוחק.
מה שיבוא אחר כך תלוי במשימות שלך ובדמיון שלך.

לקבל שינויים מהשרת המרוחק?

הוספתי תיאור ל-README עם התחייבות חדשה ואני רוצה לקבל את השינויים האלה. אם בוצעו שינויים הן במאגר המקומי והן במאגר המרוחק, אז אנו מוזמנים לבחור בין מיזוג לבסיס מחדש. אנחנו בוחרים להתמזג. הזן CTRL+T : שידוך עשוי בגן עדן: Git and IntelliJ IDEA - 13כעת ניתן לראות כיצד ה-README השתנה, כלומר השינויים מהמאגר המרוחק נמשכו, ובפינה הימנית התחתונה ניתן לראות את כל הפרטים של השינויים שהגיעו מהשרת.שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 14

צור ענף חדש המבוסס על מאסטר

הכל פשוט כאן.
  1. עבור לפינה השמאלית התחתונה ולחץ על Git: master . בחר + סניף חדש .

    שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 15
  2. השאר את תיבת הסימון סניף Checkout מסומנת והזן את שם הסניף החדש. עבורי, זה יהיה Readme-משפר .

    שידוך עשוי בגן עדן: Git and IntelliJ IDEA - 16

    Git: master לאחר מכן ישתנה ל- Git: readme-improver .

בואו נדמה עבודה מקבילה

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

יישם את הפונקציונליות שלנו

המשימה שלנו היא לשנות את ה-README ולהוסיף תיאור למאמר החדש. כלומר, העבודה ב-Git עוברת דרך IntelliJ IDEA. הוסף את זה: שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 17השינויים בוצעו. עכשיו אנחנו יכולים ליצור commit. הקש CTRL+K , מה שנותן לנו: שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 18לפני יצירת commit, עלינו להסתכל מקרוב על מה שהחלון הזה מציע. הוספתי חיצים אדומים כדי להראות לך היכן לחפש. יש כאן הרבה דברים מעניינים. בקטע הודעת Commit , אנו כותבים טקסט המשויך ל-commit. לאחר מכן כדי ליצור אותו, עלינו ללחוץ על Commit . עדיין לא גיליתי איך עושים את זה עם מקש קיצור. אם מישהו יגלה איך, בבקשה תכתוב לי - זה ישמח אותי מאוד. אנו כותבים שה-README השתנה ויוצרים את ה-commit. התראה צצה בפינה השמאלית התחתונה עם שם ה-commit:שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 19

בדוק אם הסניף הראשי השתנה

השלמנו את המשימה שלנו. זה עובד. כתבנו מבחנים. הכל בסדר. אבל לפני דחיפה לשרת, אנחנו עדיין צריכים לבדוק אם היו שינויים כלשהם בסניף הראשי בינתיים. איך זה יכול לקרות? די בקלות: מישהו מקבל משימה אחריך, והמישהו הזה מסיים אותה מהר יותר ממה שאתה מסיים את המשימה שלך. אז אנחנו צריכים ללכת לסניף המאסטר. לשם כך, עלינו לעשות את מה שמוצג בפינה הימנית התחתונה בצילום המסך למטה: שידוך עשוי בגן עדן: Git and IntelliJ IDEA - 20בענף המאסטר, הקש CTRL+T כדי לקבל את השינויים האחרונים שלו מהשרת המרוחק. כשמסתכלים על השינויים, אפשר לראות בקלות מה קרה: שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 21המילה "fully" הוסרה. אולי מישהו מהשיווק החליט שאסור לכתוב את זה ככה ונתן למפתחים משימה לעדכן את זה. כעת יש לנו עותק מקומי של הגרסה האחרונה של סניף המאסטר. חזור ל- readme-improver . כעת עלינו לבסס מחדש את השינויים מהענף הראשי לשלנו. אנחנו עושים את זה: שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 22אם עשית הכל נכון ועקבת איתי, התוצאה אמורה להראות התנגשות בקובץ README: שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 23כאן יש לנו גם הרבה מידע להבין ולספוג. מוצגת כאן רשימה של קבצים (במקרה שלנו, קובץ אחד) שיש להם התנגשויות. אנו יכולים לבחור מתוך שלוש אפשרויות:
  1. קבל את שלך - קבל רק שינויים מ-readme-improver.
  2. קבל את שלהם - קבל רק שינויים מהמאסטר.
  3. מיזוג - בחר בעצמך מה אתה רוצה לשמור ומה לבטל.
לא ברור מה השתנה. אם יש שינויים בסניף המאסטר, הם חייבים להיות נחוצים שם, אז אנחנו לא יכולים פשוט לקבל את השינויים שלנו. בהתאם, אנו בוחרים מיזוג : שידוך עשוי בגן עדן: Git and IntelliJ IDEA - 24כאן אנו יכולים לראות שיש שלושה חלקים:
  1. אלו הם השינויים מ-readme-improver.
  2. התוצאה הממוזגת. לעת עתה, זה מה שהיה קיים לפני השינויים.
  3. השינויים מסניף המאסטר.
אנחנו צריכים לייצר תוצאה ממוזגת שתספק את כולם. כשבודקים מה השתנה לפני השינויים שלנו, אנו מבינים שהם פשוט הסירו את המילה "fully". אוקיי אין בעיה! זה אומר שגם נסיר אותו בתוצאה הממוזגת ואז נוסיף את השינויים שלנו. לאחר שנתקן את התוצאה הממוזגת, נוכל ללחוץ על החל . אז תופיע הודעה שאומרת לנו שהבסיס מחדש הצליח: שידוך עשוי בגן עדן: Git and IntelliJ IDEA - 25הנה! פתרנו את הסכסוך הראשון שלנו באמצעות IntelliJ IDEA :D

דחף שינויים לשרת המרוחק

השלב הבא הוא לדחוף את השינויים לשרת המרוחק וליצור בקשת משיכה. כדי לעשות זאת, פשוט הקש CTRL+SHIFT+K . ואז נקבל: שידוך עשוי בגן עדן: Git and IntelliJ IDEA - 26בצד שמאל, תהיה רשימה של commits שלא נדחפו למאגר המרוחק. בצד ימין יהיו כל הקבצים שהשתנו. וזה הכל! לחצו על Push ותחוו אושר :) אם הדחיפה הצליחה, תראו התראה כזו בפינה הימנית התחתונה:שידוך עשוי בגן עדן: Git and IntelliJ IDEA - 27

חלק בונוס

בהתחלה, לא רציתי להוסיף יצירת בקשת משיכה למאמר הזה, אבל זה לא לגמרי שלם בלעדיו. אז בוא נלך למאגר של GitHub (אחד שהוא שלך, כמובן :)) ורואים ש-GitHub כבר יודע מה אנחנו רוצים: שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 28לחץ על Compare & pull request . לאחר מכן לחץ על צור בקשת משיכה . מכיוון שפתרנו את הקונפליקטים מראש, עכשיו כשיוצרים בקשת משיכה, אנחנו יכולים מיד למזג אותה: שידוך שנעשה בגן עדן: Git and IntelliJ IDEA - 29וזה כל מה שרציתי לומר הפעם. כמובן, רק פתחתי לך את הדלת קצת והראיתי לך חלק קטן. אתה תלמד על השאר כפי שאתה צריך את זה. יש לי הרגל להזמין אותך לעקוב אחרי ב-GitHub , שם אני מפרסם את הפרויקטים שלי הכוללים טכנולוגיות שונות שבהן אני משתמש בעבודה. לאחרונה הגעתי להישג אישי: אחד הפרויקטים שלי קיבל כוכבים על ידי יותר ממאה מפתחים. יש תחושה מדהימה של שמחה כשאתה יודע שמה שעשית משמש מישהו אחר. ומשתמשים בו לתמיד.

קישורים שימושיים

  1. CodeGym: תחילת העבודה עם Git: מדריך מקיף למתחילים
  2. GitHub: פרויקט הדגמה לתרגול
  3. JetBrains: הגדר מאגר Git
  4. GitHub: החשבון שלי
הערות
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION