
อินพุตที่จำเป็น:
- อ่าน ทำตาม และทำความเข้าใจบทความของฉันเกี่ยวกับ Git สิ่งนี้จะช่วยให้แน่ใจว่าทุกอย่างถูกตั้งค่าและพร้อมใช้งาน
- ติดตั้ง IntelliJ IDEA
- จัดสรรเวลาส่วนตัวหนึ่งชั่วโมงเพื่อให้ได้ความเชี่ยวชาญอย่างสมบูรณ์
โคลนโครงการในเครื่อง
มีสองตัวเลือกที่นี่:- หากคุณมีบัญชี GitHub อยู่แล้วและต้องการผลักดันบางอย่างในภายหลัง จะเป็นการดีกว่าที่จะแยกโครงการและคัดลอกสำเนาของคุณเอง
- โคลนพื้นที่เก็บข้อมูลของฉันและทำทุกอย่างในเครื่องโดยไม่ต้องส่งสิ่งทั้งหมดไปยังเซิร์ฟเวอร์ ท้ายที่สุดนี่คือที่เก็บของฉัน :)
-
คัดลอกที่อยู่โครงการ:
-
เปิด IntelliJ IDEA แล้วเลือก "รับจากการควบคุมเวอร์ชัน":
-
คัดลอกและวางที่อยู่โครงการ:
-
คุณจะได้รับแจ้งให้สร้างโครงการ IntelliJ IDEA ยอมรับข้อเสนอ:
-
เนื่องจากไม่มีระบบการสร้างและอยู่นอกเหนือขอบเขตของบทความนี้ เราจึงเลือกสร้างโครงการจากแหล่งข้อมูลที่มีอยู่ :
-
ถัดไป คุณจะเห็นหน้าจอที่สวยงามนี้:
ตอนนี้เราเข้าใจเรื่องการโคลนนิ่งแล้ว คุณสามารถดูไปรอบๆ
ดูครั้งแรกที่ IntelliJ IDEA ในฐานะ Git UI
ลองดูโปรเจ็กต์โคลนให้ละเอียดยิ่งขึ้น: คุณสามารถรับข้อมูลมากมายเกี่ยวกับระบบควบคุมเวอร์ชันได้แล้ว ขั้นแรก เรามี บานหน้าต่าง การควบคุมเวอร์ชันที่มุมล่างซ้าย ที่นี่คุณสามารถค้นหาการเปลี่ยนแปลงในเครื่องทั้งหมดและรับรายการคอมมิชชัน (คล้ายกับ "git log") ไปที่การสนทนาของLogกันเถอะ มีการสร้างภาพข้อมูลบางอย่างที่ช่วยให้เราเข้าใจว่าการพัฒนาดำเนินไปอย่างไร ตัวอย่างเช่น คุณจะเห็นว่ามีการสร้างสาขาใหม่โดยเพิ่มส่วนหัวลงใน txt commit ซึ่งต่อมาจะรวมเข้ากับสาขาหลัก หากคุณคลิกที่คอมมิต คุณจะเห็นข้อมูลทั้งหมดเกี่ยวกับการคอมมิตที่มุมขวา: การเปลี่ยนแปลงและข้อมูลเมตาทั้งหมด



การทำงานกับที่เก็บข้อมูล
ปุ่มลัดที่มีประโยชน์
สำหรับงานในอนาคต คุณต้องจำปุ่มลัดที่มีประโยชน์มากสองสามตัว:- CTRL+T — รับการเปลี่ยนแปลงล่าสุดจากที่เก็บระยะไกล (git pull)
- CTRL+K — สร้างคอมมิชชัน / ดูการเปลี่ยนแปลงปัจจุบันทั้งหมด ซึ่งรวมถึงไฟล์ที่ไม่ได้ติดตามและแก้ไข (ดูบทความของฉันเกี่ยวกับคอมไพล์ ซึ่งอธิบายเรื่องนี้) (คอมไพล์คอมไพล์)
- CTRL+SHIFT+K — นี่คือคำสั่งสำหรับการพุชการเปลี่ยนแปลงไปยังที่เก็บระยะไกล คอมมิชชันทั้งหมดที่สร้างขึ้นในเครื่องและยังไม่ได้อยู่ในที่เก็บระยะไกลจะถูกพุช (git push)
- ALT+CTRL+Z — ย้อนกลับการเปลี่ยนแปลงในไฟล์ที่ระบุเป็นสถานะของการกระทำล่าสุดที่สร้างขึ้นในพื้นที่เก็บข้อมูลในเครื่อง หากคุณเลือกทั้งโครงการที่มุมซ้ายบน คุณสามารถย้อนกลับการเปลี่ยนแปลงในไฟล์ทั้งหมดได้

เราต้องการอะไร
เพื่อให้งานสำเร็จ เราจำเป็นต้องเชี่ยวชาญสถานการณ์พื้นฐานที่ใช้ทุกที่ วัตถุประสงค์คือเพื่อใช้งานฟังก์ชันใหม่ในสาขาที่แยกจากกัน จากนั้นส่งไปยังที่เก็บระยะไกล (จากนั้นคุณต้องสร้างคำขอดึงไปยังสาขาหลักด้วย แต่นั่นอยู่นอกเหนือขอบเขตของบทความนี้) สิ่งที่จำเป็นในการทำเช่นนี้?-
รับการเปลี่ยนแปลงปัจจุบันทั้งหมดในสาขาหลัก (เช่น "ต้นแบบ")
-
จากสาขาหลักนี้ ให้สร้างสาขาแยกต่างหากสำหรับงานของคุณ
-
ใช้ฟังก์ชันใหม่
-
ไปที่สาขาหลักและตรวจสอบว่ามีการเปลี่ยนแปลงใหม่ในขณะที่เรากำลังดำเนินการอยู่หรือไม่ ถ้าไม่เช่นนั้นทุกอย่างก็เรียบร้อยดี แต่ถ้ามีการเปลี่ยนแปลงเราจะทำสิ่งต่อไปนี้: ไปที่สาขาที่ทำงานและรีบูตการเปลี่ยนแปลงจากสาขาหลักเป็นของเรา ถ้าทุกอย่างเป็นไปด้วยดีก็ดี แต่เป็นไปได้ทั้งหมดที่จะมีความขัดแย้ง เมื่อเกิดขึ้นแล้ว พวกเขาสามารถแก้ไขได้ล่วงหน้า โดยไม่ต้องเสียเวลาในที่เก็บระยะไกล
คุณสงสัยหรือไม่ว่าทำไมคุณต้องทำสิ่งนี้? เป็นมารยาทที่ดีและป้องกันไม่ให้ความขัดแย้งเกิดขึ้นหลังจากส่งสาขาของคุณไปยังที่เก็บในเครื่อง (แน่นอนว่ามีความเป็นไปได้ที่ความขัดแย้งจะยังคงเกิดขึ้น แต่มันจะเล็กลงมาก )
- พุชการเปลี่ยนแปลงของคุณไปยังที่เก็บระยะไกล
รับการเปลี่ยนแปลงจากเซิร์ฟเวอร์ระยะไกลหรือไม่
ฉันเพิ่มคำอธิบายใน README ด้วยคอมมิตใหม่และต้องการรับการเปลี่ยนแปลงเหล่านี้ หากมีการเปลี่ยนแปลงทั้งในที่เก็บข้อมูลในเครื่องและในรีโมต เราได้รับเชิญให้เลือกระหว่างการรวมและการรีเบส เราเลือกที่จะผสาน ป้อน CTRL+T :

สร้างสาขาใหม่ตามต้นแบบ
ทุกอย่างเรียบง่ายที่นี่-
ไปที่มุมล่างขวาแล้วคลิกGit: master เลือก+ สาขาใหม่
ปล่อยให้ ช่องทำเครื่องหมาย Checkout สาขาที่เลือกไว้และป้อนชื่อสาขาใหม่ สำหรับฉัน แล้วมันจะเป็นreadme-improver

Git: masterจะเปลี่ยนเป็น Git : readme-improver
มาจำลองการทำงานแบบคู่ขนานกัน
เพื่อให้ความขัดแย้งปรากฏขึ้น ต้องมีคนสร้างมันขึ้นมา :D ผมจะแก้ไข README ด้วยการคอมมิตใหม่ผ่านเบราว์เซอร์ ซึ่งจะเป็นการจำลองการทำงานแบบคู่ขนานกัน ราวกับว่ามีคนทำการเปลี่ยนแปลงในไฟล์เดียวกันขณะที่ฉันกำลังแก้ไขอยู่ ผลที่ตามมาคือความขัดแย้ง ฉันจะลบคำว่า "fully" ออกจากบรรทัดที่ 10ใช้ฟังก์ชันของเรา
งานของเราคือเปลี่ยน README และเพิ่มคำอธิบายให้กับบทความใหม่ นั่นคืองานใน Git ต้องผ่าน IntelliJ IDEA เพิ่มสิ่งนี้:


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



- ยอมรับของคุณ — ยอมรับเฉพาะการเปลี่ยนแปลงจาก readme-improver
- ยอมรับของพวกเขา — ยอมรับการเปลี่ยนแปลงจากเจ้านายเท่านั้น
- รวม — เลือกด้วยตัวคุณเองว่าคุณต้องการเก็บอะไรและทิ้งอะไร

- นี่คือการเปลี่ยนแปลงจากโปรแกรมปรับปรุง readme
- ผลลัพธ์ที่ผสาน สำหรับตอนนี้ สิ่งที่มีอยู่ก่อนการเปลี่ยนแปลง
- การเปลี่ยนแปลงจากสาขาหลัก

ผลักดันการเปลี่ยนแปลงไปยังเซิร์ฟเวอร์ระยะไกล
ขั้นตอนต่อไปคือการผลักดันการเปลี่ยนแปลงไปยังเซิร์ฟเวอร์ระยะไกลและสร้างคำขอดึง ในการทำเช่นนี้ เพียงกดCTRL+SHIFT+ K จากนั้นเราจะได้รับ:

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

GO TO FULL VERSION