Worktree
worktree คือการเช็คเอาต์อีกสาขาหนึ่งของรีโพซิทอรีเดียวกันลงในโฟลเดอร์ของตัวเอง เมื่อแต่ละเอเจนต์มี worktree ของตัวเอง เอเจนต์หลายตัวก็ทำงานบนโปรเจกต์เดียวกันพร้อมกันได้โดยไม่แก้ไฟล์ของกันและกัน PATerminal สร้าง worktree และเปิดเป็นเซสชันใหม่ได้ในขั้นตอนเดียว
เขียนสำหรับ PATerminal v1.8.3
สร้าง worktree
- ในเพนที่อยู่ในรีโพซิทอรี คลิก Worktree บนแถบเพน (มีในรายการสาขาด้วย)
- ใต้ สร้างจาก เลือก สาขา หรือ พูลรีเควสต์
- เลือก สาขาตั้งต้น (หรือพูลรีเควสต์) แล้วใส่ชื่อ สาขาใหม่
- เลือก ที่เก็บ และใส่โน้ตเซสชันหากต้องการ
- กด สร้าง เซสชันใหม่จะเปิดในโฟลเดอร์ของ worktree
worktree ถูกเก็บไว้ที่ไหน
- นอกรีโพซิทอรี (ค่าเริ่มต้น)
- worktree จะถูกรวมไว้ในโฟลเดอร์ที่ตั้งชื่อตามรีโพซิทอรี เช่น
~/worktrees/acme-app/feature-loginใส่พาธแบบสัมบูรณ์~หรือ..ได้ ไฟล์.gitignoreของคุณจะไม่ถูกแตะต้อง - ภายในรีโพซิทอรี
- worktree จะอยู่ในโฟลเดอร์ภายในรีโพซิทอรี หากโฟลเดอร์นั้นยังไม่ถูกละเว้น จะถูกเพิ่มลงใน
.gitignoreที่รูท (เป็นการเปลี่ยนแปลงซอร์สตามปกติ)
คัดลอกไฟล์ที่ถูกละเว้น
worktree ที่สร้างใหม่จะไม่มีไฟล์ที่ถูก git ละเว้นเลย จึงมักยังรันไม่ได้ เมื่อเลือก ไฟล์ที่ถูกละเว้น: คัดลอกจากเช็คเอาต์นี้ (ค่าเริ่มต้น) PATerminal จะคัดลอกไฟล์อย่าง .env, node_modules และ .venv จากเช็คเอาต์ปัจจุบันไปยัง worktree ใหม่ พร้อมแสดงความคืบหน้า เลือก ไม่คัดลอก เพื่อข้าม
worktree จากพูลรีเควสต์
เลือก พูลรีเควสต์ เป็นแหล่งที่มาเพื่อแสดงรายการพูลรีเควสต์ที่เปิดอยู่ (ผ่าน gh ของคุณ) PATerminal จะสร้าง worktree บนสาขาของ PR แล้วเปิดเป็นเซสชัน เหมาะสำหรับรีวิวหรือแก้ PR ขณะที่เช็คเอาต์หลักยังทำงานต่อได้ หากมี worktree ของสาขานั้นอยู่แล้วจะใช้ตัวเดิม
จัดการ worktree
รายการ worktree ในหน้าต่าง Git แสดงทุก worktree พร้อมสาขาและสถานะ (ปัจจุบัน, หลัก, ล็อก, ไม่พบ) ลบทีละตัว หรือเลือกหลายตัวแล้วกด ลบรายการที่เลือก การลบ worktree จะยังเก็บสาขาไว้ ส่วน worktree หลักและ worktree ปัจจุบันลบไม่ได้ เมื่อ Git ปฏิเสธเพราะมีการเปลี่ยนแปลงในเครื่อง จะมีตัวเลือก บังคับลบ ให้
ค่าเริ่มต้นของ worktree
การตั้งค่า → ตำแหน่งเริ่มต้นของ worktree กำหนดตำแหน่งเริ่มต้นและการคัดลอกไฟล์ที่ถูกละเว้น เปิด Automatically fill in the branch name เพื่อให้ได้ชื่อสาขาที่สร้างจากวันที่ เวลา และคำต่อท้ายแบบสุ่มสั้น ๆ ค่าเริ่มต้นเหล่านี้ใช้กับ worktree ที่สร้างจาก issue หรือจากโหมดจับคู่ด้วย
ยังติดปัญหาอยู่ใช่ไหม?
ดูคำถามที่พบบ่อย หรือส่งอีเมลถึงเราพร้อมระบุระบบปฏิบัติการ เวอร์ชันของ PATerminal และสิ่งที่คุณลองทำไปแล้ว เราตอบกลับทุกข้อความ