JavaRush /จาวาบล็อก /Random-TH /มาเชื่อมต่อ Git กับ Intellij IDEA กัน
Roman Beekeeper
ระดับ

มาเชื่อมต่อ Git กับ Intellij IDEA กัน

เผยแพร่ในกลุ่ม
ตามธรรมเนียมแล้ว ฉันยินดีต้อนรับคุณ วิศวกรซอฟต์แวร์อาวุโสในอนาคต มาเชื่อมต่อ Git กับ Intellij IDEA - 1 กันวันนี้เราจะพูดถึงความต่อเนื่องเชิงตรรกะของบทความของฉันเกี่ยวกับGit ฉันยังแนะนำให้อ่านเนื้อหาเกี่ยวกับกลยุทธ์การแยกสาขาที่ฉันเผยแพร่ก่อนหน้านี้ ในบทความเกี่ยวกับ Git ฉันได้อธิบายวิธีทำงานกับมันบนบรรทัดคำสั่ง และวันนี้ฉันจะแสดงวิธีทำทั้งหมดนี้ใน Intellij IDEA ในช่วงเริ่มต้นของการเดินทางในฐานะนักพัฒนา ฉันใช้บรรทัดคำสั่งและคิดว่าไม่จำเป็นต้องใช้ UI สำหรับเรื่องนี้ ท้ายที่สุดแล้วทุกอย่างชัดเจน... แต่นั่นก็จนกระทั่งถึงช่วงเวลาที่ฉันเริ่มใช้ Git ใน Intellij IDEA... ฉันอยากจะพูดทันทีว่าฉันจะอธิบายประสบการณ์ส่วนตัวของฉัน มีหลายทางเลือกในการแก้ปัญหาเดียวกันโดยใช้ Intellij IDEA และหากคุณรู้วิธีปรับปรุงสิ่งที่ฉันอธิบายไว้ในบทความ ให้เขียนความคิดเห็นแล้วเราจะหารือกัน

บันทึกเบื้องต้นที่จำเป็น:

  1. อ่าน ทำซ้ำ และทำความเข้าใจบทความเกี่ยวกับ git วิธีนี้จะช่วยให้แน่ใจว่าทุกอย่างได้รับการตั้งค่าและพร้อมใช้งานแล้ว
  2. ติดตั้ง Intellij IDEA
  3. จัดสรรเวลาส่วนตัวไว้หนึ่งชั่วโมงเพื่อการดูดซึมที่สมบูรณ์
สำหรับงาน มาดูโปรเจ็กต์สาธิตที่ฉันใช้สำหรับบทความเกี่ยวกับ Git กัน อัปเดต:ในขณะที่เผยแพร่ Github UI ใหม่จะพร้อมใช้งานแล้ว และไอคอนบางส่วนจะไม่อยู่ในตำแหน่งที่แสดงในบทความ ไม่ต้องกังวล: คุณเพียงแค่ต้องไม่เปลี่ยนไปใช้ UI ใหม่หรือมองหามัน

โคลนโครงการในเครื่อง

มีสองตัวเลือกที่นี่
  1. หากคุณมีบัญชี Github อยู่แล้วและต้องการดำเนินการบางอย่างในภายหลัง จะเป็นการดีกว่าถ้าแยกโปรเจ็กต์ให้กับตัวเองและโคลนสำเนาของคุณ วิธีทำทางแยก - ฉันได้อธิบายไว้ในบทความนี้แล้วในบทนี้ถึงตัวอย่างขั้นตอนการฟอร์ก
  2. โคลนจากพื้นที่เก็บข้อมูลของฉันและทำทุกอย่างภายในเครื่องโดยไม่สามารถส่งสิ่งทั้งหมดไปยังเซิร์ฟเวอร์ได้ ท้ายที่สุดนี่จะเป็นพื้นที่เก็บข้อมูลของฉัน))
หากต้องการโคลนโปรเจ็กต์จาก Github คุณต้องคัดลอกลิงก์ไปยังโปรเจ็กต์แล้วส่งต่อไปยัง IntelliJ IDEA:
  1. คัดลอกที่อยู่โครงการ:

    มาเชื่อมต่อ Git กับ Intellij IDEA - 2 กัน
  2. เปิด Intellij IDEA และเลือกรับจากการควบคุมเวอร์ชัน:

    มาเชื่อมต่อ Git กับ Intellij IDEA - 3 กัน
  3. คัดลอกและวางที่อยู่ลงในโครงการ:

    มาเชื่อมต่อ Git กับ Intellij IDEA - 4 กัน
  4. คุณจะได้รับแจ้งให้สร้างโครงการ Intellij IDEA เรายอมรับข้อเสนอ:

    มาเชื่อมต่อ Git กับ Intellij IDEA - 5 กัน
  5. เนื่องจากไม่มีระบบบิลด์ และนี่ไม่ใช่ขอบเขตของบทความ ให้เลือกสร้างโปรเจ็กต์จากแหล่งที่มาที่มีอยู่ :

    มาเชื่อมต่อ Git กับ Intellij IDEA - 6 กัน
  6. ต่อไปก็จะมีภาพวาดสีน้ำมันแบบนี้ มาเชื่อมต่อ Git กับ Intellij IDEA - 7 กันเราแยกโคลนออกแล้ว ตอนนี้เรามองไปรอบๆ ได้แล้ว

ดู Intellij IDEA เป็น Git UI ก่อน

ลองดูโปรเจ็กต์ที่ถูกโคลนอีกครั้ง: คุณสามารถรับข้อมูลมากมายเกี่ยวกับระบบควบคุมเวอร์ชันได้แล้ว อันแรกคือ แผง ควบคุมเวอร์ชันที่มุมซ้ายล่าง ในนั้นคุณสามารถค้นหาการเปลี่ยนแปลงในเครื่องทั้งหมดและรับรายการการคอมมิต (คล้ายกับบันทึกคอมไพล์) มาดู การบรรยาย Logกัน ต่อ มีองค์ประกอบภาพบางอย่างที่ช่วยให้เข้าใจได้อย่างชัดเจนว่ากระบวนการพัฒนาดำเนินไปอย่างไร ตัวอย่างเช่น คุณจะเห็นว่ามีการสร้างสาขาใหม่โดยมีส่วนหัวที่เพิ่มการคอมมิตไปที่ txtซึ่งจากนั้นก็รวมเข้ากับสาขาหลัก หากคุณคลิกที่คอมมิต ที่มุมขวา คุณจะเห็นข้อมูลทั้งหมดเกี่ยวกับการคอมมิต: การเปลี่ยนแปลงทั้งหมดและข้อมูลเมตาของมัน Подружим Git с Intellij IDEA - 8นอกจากนี้คุณยังสามารถดูได้ว่ามีการเปลี่ยนแปลงอะไรบ้าง นอกจากนี้ความขัดแย้งก็ได้รับการแก้ไขที่นั่น IDEA ยังแสดงให้เห็นสิ่งนี้ได้อย่างสมบูรณ์แบบ หากคุณคลิกสองครั้งที่ไฟล์ที่มีการเปลี่ยนแปลงในระหว่างการคอมมิตนี้ เราจะดูว่าข้อขัดแย้งได้รับการแก้ไขอย่างไร: Подружим Git с Intellij IDEA - 9สังเกตได้ว่ามีไฟล์เดียวกันสองเวอร์ชันทางด้านขวาและด้านซ้ายที่ต้องรวมเป็นไฟล์เดียว และตรงกลางคือผลลัพธ์สุดท้าย เมื่อ Project มีหลาย Branch, Commit และ User ที่ทำงานอยู่ใน Project ก็ต้องค้นหาแยกตาม Branch (branch), User (user) และ Date (date) Подружим Git с Intellij IDEA - 10และสิ่งสุดท้ายที่ผมอยากอธิบายก่อนเริ่มคือเข้าใจแค่ไหน เราอยู่สาขาไหน ฉันให้เวลาคุณค้นหาสักครู่... คุณเจอไหม? คุณกำลังยอมแพ้ใช่ไหม? :D ที่มุมขวาล่างจะมี ปุ่ม Git: masterโดยที่หลังจาก Git: จะแสดงสาขาที่โปรเจ็กต์กำลังเปิดอยู่ หากคุณคลิกที่ปุ่ม คุณสามารถทำสิ่งต่าง ๆ ที่เป็นประโยชน์ได้มากมาย เช่น ย้ายไปยังสาขาอื่น สร้างสาขาใหม่ เปลี่ยนชื่อสาขาที่มีอยู่ และอื่น ๆ Подружим Git с Intellij IDEA - 11

การทำงานกับพื้นที่เก็บข้อมูล

ปุ่มลัดที่มีประโยชน์

หากต้องการทำงานต่อ คุณต้องจำปุ่มลัดที่มีประโยชน์มากสองสามปุ่ม:
  1. ctrl + t - รับการเปลี่ยนแปลงล่าสุดจากพื้นที่เก็บข้อมูลระยะไกล (git pull)
  2. ctrl + k - คอมมิต/ดูการเปลี่ยนแปลงทั้งหมดที่มีอยู่ในปัจจุบัน ซึ่งรวมถึงไฟล์ที่ไม่ได้ติดตามและไฟล์ที่ถูกแก้ไข (ดูบทความของฉันเกี่ยวกับ git ซึ่งมีอธิบายไว้ที่นั่น) (git commit)
  3. ctrl + shift + kเป็นคำสั่งสำหรับกดการเปลี่ยนแปลงไปยังที่เก็บระยะไกล คอมมิตทั้งหมดที่สร้างขึ้นในเครื่องและยังไม่ได้อยู่บนรีโมตจะถูกเสนอสำหรับการพุช (git push)
  4. alt + ctrl + z - ย้อนกลับการเปลี่ยนแปลงในไฟล์เฉพาะเป็นสถานะของการคอมมิตที่สร้างขึ้นล่าสุดในพื้นที่เก็บข้อมูลในเครื่อง หากคุณเลือกทั้งโปรเจ็กต์ที่มุมซ้ายบน คุณสามารถย้อนกลับการเปลี่ยนแปลงในไฟล์ทั้งหมดได้
Подружим Git с Intellij IDEA - 12

เราต้องการอะไร?

ในการทำงาน เราจำเป็นต้องเชี่ยวชาญสคริปต์พื้นฐานซึ่งใช้ทุกที่ ภารกิจคือการใช้ฟังก์ชันใหม่ในสาขาแยกต่างหากและพุชไปยังพื้นที่เก็บข้อมูลระยะไกล (จากนั้นคุณจะต้องสร้างคำขอดึงอื่นสำหรับสาขาหลัก แต่นี่อยู่นอกเหนือขอบเขตของบทความของเรา) ฉันต้องทำอย่างไร?
  1. รับการเปลี่ยนแปลงทั้งหมดในสาขาหลักในปัจจุบัน (เช่น ต้นแบบ)

  2. ตามอันหลักนี้ ให้สร้างอันแยกต่างหากสำหรับงานของคุณ

  3. ใช้ฟังก์ชันการทำงานใหม่

  4. ไปที่สาขาหลักและตรวจสอบว่ามีการเปลี่ยนแปลงใหม่ในขณะที่คุณกำลังทำงานอยู่หรือไม่ หากไม่เป็นเช่นนั้น ทุกอย่างก็เรียบร้อยดี และหากเป็นเช่นนั้น เราก็ทำสิ่งต่อไปนี้: ไปที่สาขาที่ทำงานและรีบูตการเปลี่ยนแปลงจากสาขาหลักเป็นของเรา หากทุกอย่างเป็นไปด้วยดีก็เยี่ยมมาก แต่อาจมีความขัดแย้งเกิดขึ้น และสามารถแก้ไขได้ล่วงหน้าโดยไม่ต้องเสียเวลากับพื้นที่เก็บข้อมูลระยะไกล

    ดูเหมือนว่าทำไมถึงทำเช่นนี้? นี่เป็นกฎของรูปแบบที่ดี ซึ่งป้องกันไม่ให้เกิดข้อขัดแย้งหลังจากส่งสาขาของคุณไปยังพื้นที่เก็บข้อมูลในเครื่อง (แน่นอนว่ามีโอกาสที่จะยังคงมีอยู่ แต่จะน้อยลงมาก )

  5. พุชการเปลี่ยนแปลงของคุณไปยังพื้นที่เก็บข้อมูลระยะไกล
จะเกิดอะไรขึ้นต่อไปขึ้นอยู่กับเป้าหมายและจินตนาการของคุณ

รับการเปลี่ยนแปลงจากเซิร์ฟเวอร์ระยะไกลหรือไม่

ฉันได้เพิ่มคำอธิบายให้กับ README ด้วยการคอมมิตใหม่และต้องการรับการเปลี่ยนแปลงเหล่านี้ มีตัวเลือกให้เลือกระหว่างการผสานและการรีบูตหากมีการเปลี่ยนแปลงทั้งในพื้นที่เก็บข้อมูลภายในและระยะไกล เลือกการผสาน ป้อนctrl + t : Подружим Git с Intellij IDEA - 13ดังนั้นคุณจะเห็นได้ว่า README มีการเปลี่ยนแปลงอย่างไรเช่น การเปลี่ยนแปลงจากพื้นที่เก็บข้อมูลระยะไกลถูกดึงขึ้นมา และที่มุมขวาล่าง คุณสามารถดูรายละเอียดทั้งหมดของการเปลี่ยนแปลงที่มาจากเซิร์ฟเวอร์ได้ Подружим Git с Intellij IDEA - 14

สร้างสาขาใหม่ตามต้นแบบ

ทุกอย่างเรียบง่ายที่นี่
  1. ไปที่มุมขวาล่างแล้วคลิกที่Git: masterเลือก+ New Branch

    Подружим Git с Intellij IDEA - 15
  2. ออกจาก ช่องทำเครื่องหมาย สาขา Checkoutแล้วเขียนชื่อของสาขาใหม่ สำหรับฉันมันจะเป็นreadme- improver

    Подружим Git с Intellij IDEA - 16

    หลังจากนี้Git: masterจะเปลี่ยนเป็น Git : readme-improver

การจำลองการทำงานแบบขนาน

เพื่อให้ข้อขัดแย้งปรากฏขึ้น ต้องมีคนสร้างมันขึ้นมา :D ฉันจะแก้ไข README ด้วยคอมมิตใหม่ผ่านเบราว์เซอร์ และด้วยเหตุนี้จึงจำลองการทำงานแบบขนาน พวกเขาบอกว่าระหว่างที่ทำงานของฉัน มีคนเปลี่ยนแปลงไฟล์เดียวกันกับฉัน ซึ่งจะนำไปสู่ข้อขัดแย้ง ฉันจะลบคำว่า "ทั้งหมด" ออกจากบรรทัด 10

ใช้ฟังก์ชันการทำงานของคุณ

ภารกิจคือการเปลี่ยน README และเพิ่มคำอธิบายให้กับบทความใหม่ นั่นคืองานใน git นั้นเสร็จสิ้นผ่าน Intellij IDEA เพิ่มสิ่งนี้: Подружим Git с Intellij IDEA - 17การเปลี่ยนแปลงเสร็จสมบูรณ์ ตอนนี้คุณสามารถสร้างการคอมมิตได้แล้ว กดปุ่มลัดctrl + kเราจะได้รับ: Подружим Git с Intellij IDEA - 18ก่อนที่จะสร้างการคอมมิตคุณต้องดูสิ่งที่เสนอในหน้าต่างนี้อย่างละเอียด ฉันเพิ่มลูกศรไว้โดยเฉพาะเพื่อแสดงให้คุณเห็นว่าต้องดูที่ไหน มีสิ่งที่น่าสนใจมากมายที่นั่น ใน ส่วน Commit Messageเราเขียนข้อความของการ Commit และเพื่อที่จะสร้างขึ้น คุณจะต้องคลิกปุ่มCommit ฉันยังไม่พบวิธีการทำเช่นนี้ด้วยปุ่มลัด ดังนั้นหากใครพบมันเขียนฉันจะมีความสุขมาก เราเขียนว่า README มีการเปลี่ยนแปลงและสร้างการคอมมิต ด้วยเหตุนี้ การแจ้งเตือนจะปรากฏขึ้นที่มุมซ้ายล่างพร้อมกับชื่อของการคอมมิต: Подружим Git с Intellij IDEA - 19

ตรวจสอบว่าสาขาหลักมีการเปลี่ยนแปลงหรือไม่

เราทำงานเสร็จแล้ว ใช้งานได้ เราเขียนแบบทดสอบ ทุกอย่างเรียบร้อยดี แต่ก่อนจะ Push ไปที่ Server จะต้องเช็คก่อนว่ามีการเปลี่ยนแปลงใน Branch หลักในช่วงเวลานี้หรือไม่ สิ่งนี้เกิดขึ้นได้อย่างไร? มันง่ายมาก: มีคนมอบหมายงานตามคุณ และคนๆ นี้ทำได้เร็วกว่าคุณ ดังนั้นเราจึงย้ายไปที่สาขาหลัก ในการดำเนินการนี้คุณต้องทำสิ่งที่แสดงในรูปด้านล่างที่มุมขวาล่าง: Подружим Git с Intellij IDEA - 20ในสาขาหลักให้กดctrl + tเพื่อรับการเปลี่ยนแปลงล่าสุดจากเซิร์ฟเวอร์ระยะไกล หากคุณดูว่ามีการเปลี่ยนแปลงอะไรบ้าง คุณสามารถสังเกตได้อย่างง่ายดายว่าเกิดอะไรขึ้น Подружим Git с Intellij IDEA - 21อย่างที่คุณเห็น คำว่า "สมบูรณ์" ได้ถูกลบออกไปแล้ว บางทีอาจเป็นคนจากฝ่ายการตลาดที่ตัดสินใจว่าไม่สามารถเขียนแบบนั้นได้ และมอบหมายให้นักพัฒนาอัปเดตงาน ขณะนี้เรามีสาขาหลักเวอร์ชันล่าสุดในเครื่องแล้ว กลับไปที่readme-improver กันดีกว่า ตอนนี้เราจำเป็นต้องรีบูตการเปลี่ยนแปลงจากสาขาหลักเป็นของเรา พวกเราทำ: Подружим Git с Intellij IDEA - 22หากคุณติดตามฉันทุกอย่างถูกต้อง ผลลัพธ์ควรขัดแย้งในไฟล์ README: Подружим Git с Intellij IDEA - 23นอกจากนี้ยังมีข้อมูลมากมายที่นี่ที่ต้องทำความเข้าใจและซึมซับ นี่แสดงรายการ (ในกรณีของเราคือองค์ประกอบเดียว) ของไฟล์ที่มีข้อขัดแย้ง เราสามารถเลือกได้สามตัวเลือก:
  1. ยอมรับของคุณ - ยอมรับเฉพาะการเปลี่ยนแปลงจาก readme-improver
  2. ยอมรับพวกเขา - ยอมรับเฉพาะการเปลี่ยนแปลงจากต้นแบบเท่านั้น
  3. ผสาน - เลือกด้วยตัวคุณเองว่าจะเก็บอะไรและจะลบอะไร
ยังไม่ชัดเจนว่ามีอะไรเปลี่ยนแปลงไปบ้าง และหากการเปลี่ยนแปลงอยู่ในต้นแบบ ก็จำเป็นต้องมีการเปลี่ยนแปลงนั้น และเราไม่สามารถยอมรับการเปลี่ยนแปลงของเราได้ ดังนั้นเราจึงเลือกผสาน : Подружим Git с Intellij IDEA - 24ที่นี่คุณจะเห็นว่ามีสามส่วน:
  1. สิ่งเหล่านี้เป็นการเปลี่ยนแปลงจาก readme-improver
  2. ผลลัพธ์. สำหรับตอนนี้ก็เหมือนกับก่อนการเปลี่ยนแปลง
  3. การเปลี่ยนแปลงจากสาขาหลัก
เราจำเป็นต้องรวบรวมผลลัพธ์ในลักษณะที่ทุกคนพึงพอใจ ดังนั้นเราจึงศึกษาสิ่งที่พวกเขาทำก่อนเรา และตระหนักว่าพวกเขาเพียงแค่ลบคำว่า "สมบูรณ์" ออก อืม โอเค ไม่มีปัญหา ซึ่งหมายความว่าเราจะลบออกและเพิ่มการเปลี่ยนแปลงของเรา ทันทีที่เราแก้ไขผลลัพธ์แล้ว คุณสามารถคลิกใช้ หลังจากนี้ การแจ้งเตือนจะปรากฏขึ้นว่าการรีเบสสำเร็จ: Подружим Git с Intellij IDEA - 25นี่คือวิธีที่เราแก้ไขข้อขัดแย้งครั้งแรกของเราผ่าน Intellij IDEA :D

พุชการเปลี่ยนแปลงไปยังเซิร์ฟเวอร์ระยะไกล

ขั้นตอนต่อไปคือการส่งการเปลี่ยนแปลงไปยังเซิร์ฟเวอร์ระยะไกลและสร้างคำขอดึง หากต้องการทำสิ่งนี้ เพียงกดctrl + shift + kหลังจากนั้นเราได้รับ: Подружим Git с Intellij IDEA - 26ทางด้านซ้ายจะมีรายการคอมมิตที่ไม่ได้ถูกพุชไปยังที่เก็บระยะไกลและทางด้านขวาจะมีไฟล์ทั้งหมดที่ถูก เปลี่ยน. เพียงเท่านี้: คลิกพุชแล้วคุณจะมีความสุข :) หากการพุชสำเร็จจะมีการแจ้งเตือนเช่นนี้ที่มุมขวาล่าง: Подружим Git с Intellij IDEA - 27

ส่วนโบนัส

ในตอนแรกฉันไม่ต้องการเพิ่มการสร้างคำขอดึงลงในบทความ แต่กลับกลายเป็นว่าไม่ครบถ้วนสมบูรณ์ด้วยเหตุนี้ ดังนั้นเราจึงไปที่พื้นที่เก็บข้อมูล GitHub (หากเป็นของคุณ แน่นอน)))) และเห็นว่า GitHub รู้อยู่แล้วว่าจะเสนออะไรให้เราบ้าง: Подружим Git с Intellij IDEA - 28คลิกที่เปรียบเทียบและดึงคำขอจากนั้นคลิกสร้างคำขอดึง เนื่องจากเราได้แก้ไขข้อขัดแย้งล่วงหน้าแล้ว ขณะนี้เมื่อสร้างคำขอดึง คุณสามารถรวมเข้าด้วยกันได้ทันที นั่น Подружим Git с Intellij IDEA - 29คือทั้งหมดที่ฉันต้องการบอกคุณในครั้งนี้ แน่นอน ฉันเพิ่งเปิดประตูและแสดงให้คุณเห็นส่วนเล็กๆ คุณจะพบส่วนที่เหลือเองตามต้องการ ตามปกติ ฉันขอเชิญคุณสมัครรับบัญชี GitHub ของฉัน โดยที่ฉันโพสต์โปรเจ็กต์ตามเทคโนโลยีต่างๆ ที่ฉันใช้ที่ทำงาน ฉันเพิ่งประสบความสำเร็จส่วนตัว - โครงการของฉันได้รับการจัดอันดับโดยนักพัฒนามากกว่าร้อยคนแล้ว เป็นความรู้สึกยินดีอย่างไม่น่าเชื่อที่มีคนใช้สิ่งที่คุณสร้างขึ้น และใช้มันให้เกิดประโยชน์

ลิงค์ที่เป็นประโยชน์

  1. JavaRush: เริ่มต้นใช้งาน Git: คำแนะนำโดยละเอียดสำหรับผู้เริ่มต้น
  2. GitHub: โครงการสาธิตการทำงานด้วย
  3. JavaRush: การวิเคราะห์กลยุทธ์การแยกสาขาใน Git
  4. JetBrains: ตั้งค่าพื้นที่เก็บข้อมูล Git
  5. ปกติ: Git rebase
  6. GitHub: บัญชีของฉัน
ความคิดเห็น
TO VIEW ALL COMMENTS OR TO MAKE A COMMENT,
GO TO FULL VERSION