มีหลายวิธีที่จะทำให้สำเร็จได้:
- เปลี่ยนสาขาในพื้นที่ของคุณแล้วผลักดันการเปลี่ยนแปลงของคุณ
- ผลักสาขาไปยังรีโมทด้วยชื่อใหม่ในขณะที่รักษาชื่อดั้งเดิมไว้
การเปลี่ยนชื่อโลคัลและรีโมต
# Rename the local branch to the new name
git branch -m <old_name> <new_name>
# Delete the old branch on remote - where <remote> is, for example, origin
git push <remote> --delete <old_name>
# Or shorter way to delete remote branch [:]
git push <remote> :<old_name>
# Push the new branch to remote
git push <remote> <new_name>
# Reset the upstream branch for the new_name local branch
git push <remote> -u <new_name>
เปลี่ยนชื่อสาขาระยะไกลเท่านั้น
เครดิต: ptim
# In this option, we will push the branch to the remote with the new name
# While keeping the local name as is
git push <remote> <remote>/<old_name>:refs/heads/<new_name> :<old_name>
โน๊ตสำคัญ:
เมื่อคุณใช้git branch -m
(ย้าย) Git จะอัปเดตสาขาการติดตามของคุณด้วยชื่อใหม่
git remote rename legacy legacy
git remote rename
กำลังพยายามอัปเดตส่วนระยะไกลของคุณในไฟล์กำหนดค่าของคุณ มันจะเปลี่ยนชื่อรีโมตโดยใช้ชื่อที่กำหนดเป็นชื่อใหม่ แต่ในกรณีของคุณมันไม่พบสิ่งใดดังนั้นการเปลี่ยนชื่อล้มเหลว
แต่มันจะไม่ทำในสิ่งที่คุณคิด มันจะเปลี่ยนชื่อชื่อระยะไกลการกำหนดค่าท้องถิ่นของคุณและไม่ใช่สาขาระยะไกล
หมายเหตุ
เซิร์ฟเวอร์ Git อาจอนุญาตให้คุณเปลี่ยนชื่อสาขา Git โดยใช้เว็บอินเตอร์เฟสหรือโปรแกรมภายนอก (เช่น Sourcetree เป็นต้น) แต่คุณต้องจำไว้ว่าใน Git ทำงานทั้งหมดในเครื่องดังนั้นขอแนะนำให้ใช้คำสั่งข้างต้น ในการทำงาน