Computer >> คอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

Git:ดึงทุกสาขา

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

ในคู่มือนี้ เราจะพูดถึงวิธีใช้คำสั่ง git fetch –all และ git pull –all เพื่อดึงการเปลี่ยนแปลงจากที่เก็บระยะไกล

การแตกแขนงคืออะไร

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

เราสามารถใช้สาขา Git สำหรับสิ่งนี้ เราสามารถสร้างสาขาที่เรียกว่า "ความคิดเห็น" เพื่อจัดเก็บรหัสทั้งหมดสำหรับคุณลักษณะการแสดงความคิดเห็นของเรา วิธีนี้จะช่วยให้เราทำงานกับคุณลักษณะการแสดงความคิดเห็นโดยไม่ต้องเปลี่ยนโค้ดเบสเวอร์ชันหลักที่ใช้งานบนเว็บไซต์

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

Git:ดึงข้อมูลทุกสาขา

เรากำลังดำเนินการโครงการที่เรียกว่าบล็อกไซต์ โปรเจ็กต์นี้ประกอบด้วยสองสาขา:origin master และ origin dev

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

เราสามารถทำได้โดยใช้คำสั่งดึงข้อมูล คำสั่ง fetch บอกให้ Git ดึงข้อมูลเมตาจากรีโมตแบรนช์ในการอัพเดทล่าสุด คำสั่งดึงข้อมูลไม่อัพเดตไฟล์ที่เก็บไว้ในเวอร์ชันโลคัลของที่เก็บ

81% ของผู้เข้าร่วมกล่าวว่าพวกเขารู้สึกมั่นใจมากขึ้นเกี่ยวกับโอกาสในการทำงานด้านเทคโนโลยีหลังจากเข้าร่วม bootcamp จับคู่กับ Bootcamp วันนี้

ผู้สำเร็จการศึกษาจากหลักสูตร bootcamp โดยเฉลี่ยใช้เวลาน้อยกว่าหกเดือนในการเปลี่ยนอาชีพ ตั้งแต่เริ่มต้น bootcamp ไปจนถึงหางานแรก

ในการติดตามสาขาระยะไกลทั้งหมดและดึงข้อมูลเมตาสำหรับสาขาเหล่านั้น เราสามารถใช้คำสั่ง git fetch ด้วยแฟล็ก –all:

git fetch --all

คำสั่งนี้ส่งคืน:

Fetching origin
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/career-karma-tutorials/blog-site
   3fcea0c..da74d68  dev    	-> origin/dev

คำสั่งดึงข้อมูลได้ดึงการเปลี่ยนแปลงทั้งหมดที่เราทำกับที่เก็บระยะไกลของเรา คำสั่งดึงข้อมูลรู้ว่าสาขา dev ระยะไกลของเรามีการเปลี่ยนแปลงที่เราไม่มีในเครื่องของเรา เราเพิ่งดึงข้อมูลเมตาสำหรับการคอมมิตเหล่านั้น

เราสามารถดึงข้อมูลเมตาสำหรับแต่ละสาขาโดยใช้ git fetch origin <branch-name> คำสั่ง

Git:ดึงทุกสาขา

จะทำอย่างไรถ้าคุณต้องการอัปเดตสำเนาการทำงานในพื้นที่ของคุณรวมทั้งดึงข้อมูลเมตา นั่นคือสิ่งที่คำสั่ง git pull มีประโยชน์

ตอนนี้เราทราบแล้วว่ามีการเปลี่ยนแปลงในที่เก็บของเรา เรายินดีที่จะรวมการเปลี่ยนแปลงเหล่านี้เข้ากับที่เก็บในเครื่องของเรา ในการดาวน์โหลดการเปลี่ยนแปลงลงในเครื่องของเรา เราจำเป็นต้องใช้คำสั่ง git pull:

git pull --all

เราใช้แฟล็ก –all เพื่อระบุว่าเราต้องการดึงการเปลี่ยนแปลงจากทุกสาขา คำสั่งของเราส่งคืน:

Fetching origin
remote: Enumerating objects: 5, done.
remote: Counting objects: 100% (5/5), done.
remote: Total 3 (delta 0), reused 0 (delta 0), pack-reused 0
Unpacking objects: 100% (3/3), done.
From https://github.com/career-karma-tutorials/blog-site
   3fcea0c..da74d68  dev    	-> origin/dev
Updating 3fcea0c..da74d68
Fast-forward
 README.md | 1 +
 1 file changed, 1 insertion(+)

คำสั่ง git pull จะรันคำสั่ง git fetch ก่อนเพื่อตรวจสอบการเปลี่ยนแปลง การดำเนินการดึงข้อมูลจะส่งคืนข้อมูลเมตาสำหรับการคอมมิตของเรา จากนั้นคำสั่ง git pull จะดึงการเปลี่ยนแปลงทั้งหมดที่เราทำกับที่เก็บระยะไกลของเราและเปลี่ยนไฟล์ในเครื่องของเรา

เราจะเห็นว่าไฟล์ README.md ถูกเปลี่ยนในที่เก็บระยะไกลของเรา ตอนนี้เราได้ดำเนินการดึงแล้ว เรามีการเปลี่ยนแปลงในเครื่องของเรา

ในการดึงรหัสจากสาขาหนึ่ง เราสามารถใช้คำสั่ง git pull origin

บทสรุป

คำสั่ง git fetch –all ดึงข้อมูลเมตาในแต่ละการเปลี่ยนแปลงที่ทำกับสาขาทั้งหมดในที่เก็บ คำสั่ง git pull –all ดาวน์โหลดการเปลี่ยนแปลงทั้งหมดที่ทำในทุกสาขาไปยังเครื่องท้องถิ่นของคุณ
ตอนนี้คุณมีความรู้ที่จำเป็นในการดึงทุกสาขาจาก Git อย่างมืออาชีพแล้ว!