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

Git Pull

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

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

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

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

คำสั่งดึง Git คืออะไร

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

ในการดึงโค้ดใน Git คุณสามารถใช้คำสั่ง git pull คำสั่ง git pull เป็นคำสั่งที่มีประโยชน์ซึ่งรันคำสั่งอื่นๆ อีกสองคำสั่ง:git fetch และ git merge

มาดูกันว่าคำสั่ง git pull ทำงานอย่างไร

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

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

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

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

คำสั่งดึง Git

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

git pull <remote>

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

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

git pull origin

สมมติว่าเราต้องการดึงเนื้อหาของที่เก็บ "ต้นทาง" ของเรา นี่คือค่า "รีโมต" เริ่มต้นที่ใช้กับที่เก็บ เราสามารถทำได้โดยการดึงสาขาหลักต้นทาง:

git pull origin/master

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

From https://github.com/jamesgallagher432/demo-repository
   b53b22d..a7d8dc2  master     -> origin/master
Updating b53b22d..a7d8dc2
Fast-forward
 README.md | 2 ++
 1 file changed, 2 insertions(+)

ขั้นแรก คำสั่งดึงข้อมูลที่เก็บระยะไกลที่เรากำลังทำงานอยู่ จากนั้น การเปลี่ยนแปลงที่ระบุจะถูกรวมเข้ากับสำเนาโค้ดของเราในเครื่อง

ไฟล์ README.md ในที่เก็บของเราแตกต่างจากไฟล์ในเครื่องของเรา เมื่อเรารันคำสั่ง git pull การเปลี่ยนแปลงจะถูกระบุและรวมเข้ากับเครื่องของเรา

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

เราสามารถตรวจสอบว่าไฟล์ของเราได้รับการอัพเดตโดยรันคำสั่ง git log คำสั่งนี้แสดงให้เราเห็นว่าคอมมิตทั้งหมดที่ทำกับที่เก็บ

Git Pull Remote Branch จากที่เก็บ

สมมติว่าคุณต้องการดึงรหัสจากสาขาใดสาขาหนึ่งและบันทึกลงในเครื่องท้องถิ่นของคุณ คุณจะทำงานกับโค้ดในสาขาที่เรียกว่า “dev-v0.9” คุณต้องการดึงรหัสสำหรับสาขานั้นเท่านั้น

คุณสามารถทำได้โดยดำเนินการคำสั่ง git checkout ตามด้วยคำสั่ง git pull นี่คือไวยากรณ์สำหรับการดำเนินการนี้:

git checkout <branch name>
git pull <remote>

สำหรับตัวอย่างของเรา เราจะเรียกใช้คำสั่งต่อไปนี้:

git checkout dev-v0.9
git pull origin

เมื่อเรารันคำสั่ง git checkout เราจะย้ายไปที่สาขา "dev-v0.9" คำสั่ง git pull origin สร้างสำเนาของโค้ดบนแบรนช์ “dev-v0.9” ที่เรียกค้นและบันทึก เมื่อดาวน์โหลดโค้ดแล้ว การดำเนินการ git merge ก็จะถูกดำเนินการ การดำเนินการนี้จะอัปเดตพื้นที่เก็บข้อมูลในเครื่องของเราเพื่อให้แสดงรหัสเดียวกันกับรีโมตของเรา

Git Force Pull

คุณสามารถบังคับการดำเนินการดึง การบังคับให้ใช้ git pull ร่วมกัน หากคุณพบข้อผิดพลาดเกี่ยวกับไฟล์ที่ไม่ได้ติดตามซึ่งคุณต้องการทิ้ง

ก่อนที่คุณจะบังคับดึง คุณควรตรวจสอบให้แน่ใจว่าคุณพอใจกับการสูญเสียการเปลี่ยนแปลงในเครื่อง การบังคับดึงจะเขียนทับการเปลี่ยนแปลงในเครื่องทั้งหมดของคุณ

หากต้องการบังคับให้ดึง ก่อนอื่นให้ดึงข้อมูลเมตาสำหรับการคอมมิตที่คุณต้องการบันทึกลงในเครื่องท้องถิ่นของคุณ:

git fetch --all

ถัดไป คุณควรสำรองข้อมูลสาขาปัจจุบันของคุณ การสำรองข้อมูลสาขาปัจจุบันของคุณจะทำให้แน่ใจว่าคุณจะไม่สูญเสียการเปลี่ยนแปลงใดๆ ที่คุณอาจต้องการกลับมาใช้ในภายหลัง:

git branch -b backup

ตอนนี้เรามีข้อมูลสำรองของสาขาแล้ว เราสามารถดึงการเปลี่ยนแปลงของเราได้ เราสามารถทำได้โดยใช้คำสั่งรีเซ็ต:

git reset --hard origin/master

คุณควรแทนที่ origin/master ด้วยชื่อต้นทางและสาขาที่เกี่ยวข้องกับโครงการที่คุณกำลังทำงานด้วย Origin แสดงถึงแหล่งเก็บข้อมูลต้นทาง Master คือชื่อสาขาที่เราใช้เรียกรหัสของเรา

อ่านเพิ่มเติมเกี่ยวกับวิธีการบังคับ Git ดึงในคู่มือการดึงแรง git

Git Pull กับ Git Fetch

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

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

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

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

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

บทสรุป

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

บทช่วยสอนนี้สำรวจพื้นฐานของการดึงโค้ดและวิธีใช้คำสั่ง git pull เพื่อดึงโค้ด ตอนนี้คุณมีความรู้ที่จำเป็นในการเริ่มใช้คำสั่ง git pull อย่างนักพัฒนามืออาชีพแล้ว!