หน้าเว็บ

วันอังคารที่ 25 มีนาคม พ.ศ. 2557

แก้ปัญหา detached head : git



        detached head คือ ปัญหาที่เกิดจากการพยายาม commit code เก่าที่เรา checkout revision มาแก้ไข แล้วต้องการ push กลับไปที่เดิม แต่ push ไม่ได้
* เนื่องจาก head state ของการ push ชี้ไปที่ state อื่นแล้ว

วิธีแก้

ในขณะที่ project อยู่ในสถานะ detached head และเราก็ได้แก้ code เสร็จแล้ว
ให้ทำดังต่อไปนี้ เพื่อ merge เข้ากับ branch หลักหรือ master
(ตัวที่เรา checkout มาจะไม่มี branch หรือ no-branch)

1. ทำให้ project นั้นมี branch ก่อน เพราะ branch ตอนนั้นคือ [no branch]
> git checkout -b newBranch #สร้าง branch
ตอนนี้ project มี branch แล้ว ชื่อ 'newBranch'

2. commit code
> git commit -m "YOU_COMMENT"

3. จากนั้นย้ายไปที่ master แล้วดึง master กลับมา
> git checkout master #ย้าย branch
> git pull origin master #ดึงมา

4. ทำการ merge เข้ากับ branch ที่เราพึ่งสร้างไปครับ
> git merge newBranch

5. แค่นี้ ก็เป็นอันเสร็จเรียบร้อยแล้ว


ถ้า branch นั้นไม่ได้ใช้อะไรต่อ  ก็ลบออกก็ได้ครับ
> git branch -d BRANCH_NAME #เช่น newBranch

2 ความคิดเห็น: