โพสต์นี้จะแยกความแตกต่างของ 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, แผนผังการทำงาน และดัชนี