อะไรคือความแตกต่างระหว่าง HEAD, Working Tree และ Index ใน Git?

Xari Khux Khwam Taek Tang Rahwang Head Working Tree Laea Index Ni Git



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

โพสต์นี้จะแยกความแตกต่างของ HEAD, working tree และ index ใน Git

ความแตกต่างระหว่าง Working Tree, HEAD และ Index ใน Git คืออะไร?

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







จะหา HEAD Pointer ใน Git ได้อย่างไร?

หากต้องการดูตำแหน่งปัจจุบันของ HEAD ให้ใช้ปุ่ม “ บันทึกคอมไพล์ ” คำสั่งพร้อมกับ “ –ออนไลน์ ' ตัวเลือก:



$ บันทึกคอมไพล์ --ออนไลน์

เอาต์พุตด้านล่างระบุว่า HEAD ชี้ไปที่ ' ผู้เชี่ยวชาญ ” สาขา และ “ d3fd3b ' ให้สัญญา:







จะหา Working Tree ใน Git ได้อย่างไร?

หากนักพัฒนาต้องการดูรายการการเปลี่ยนแปลงที่ไม่ได้ติดตามทั้งหมดจากแผนผังการทำงาน จำเป็นต้องดำเนินการ ' git ls-tree HEAD ' สั่งการ:

$ git ls-ต้นไม้ ศีรษะ

ตามผลลัพธ์ที่ระบุด้านล่าง:



  • คอลัมน์แรกแสดงถึงสิทธิ์ของไฟล์ (อ่าน-เขียน)
  • คอลัมน์ที่สองแสดง “ หยด ” ซึ่งเป็นประเภทของวัตถุที่ย่อมาจากวัตถุไบนารีขนาดใหญ่ที่ใช้เก็บเนื้อหาของแต่ละไฟล์ในที่เก็บข้อมูล
  • คอลัมน์ที่สามเก็บรหัสการยืนยันของพื้นที่เก็บข้อมูลการทำงานปัจจุบันที่กระทำ
  • คอลัมน์ที่สี่ประกอบด้วยรายชื่อไฟล์

จะหาดัชนีใน Git ได้อย่างไร?

หากต้องการค้นหาดัชนีใน Git ให้เรียกใช้ “ git ls-ไฟล์ ' สั่งการ:

$ git ls-ไฟล์ -s

ในผลลัพธ์ด้านล่าง:

  • -s ” แฟล็กใช้สำหรับไฟล์สเตจ
  • คอลัมน์ 1 ระบุไฟล์ chmod หรือการอนุญาต
  • คอลัมน์ 2 มีแฮช SHA ของที่เก็บการทำงานปัจจุบันที่กระทำ
  • ในทำนองเดียวกัน คอลัมน์ 3 แสดงถึงดัชนีของไฟล์ทั้งหมดที่เป็น “ 0 '.
  • คอลัมน์สุดท้ายแสดงรายชื่อไฟล์ที่มีอยู่

เราได้แยกความแตกต่างระหว่าง HEAD, working tree และ Index ใน Git

บทสรุป

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