Android

วิธีการลบสาขา git ท้องถิ่นและระยะไกล

สาวไต้หวันตีกลà¸à¸‡à¸Šà¸¸à¸” What I've Done Blue 1

สาวไต้หวันตีกลà¸à¸‡à¸Šà¸¸à¸” What I've Done Blue 1

สารบัญ:

Anonim

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

คู่มือนี้ครอบคลุมถึงวิธีการลบสาขา Git ในท้องถิ่นและระยะไกล

ลบสาขา Local Git

ในการลบสาขา Git ในเครื่องให้ใช้คำสั่ง git branch ด้วยตัวเลือก -d ( --delete ):

git branch -d branch_name

Deleted branch branch_name (was 17d9aa0).

error: The branch 'branch_name' is not fully merged. If you are sure you want to delete it, run 'git branch -D branch_name'.

ดังที่ข้อความข้างต้นบอกว่าคุณสามารถบังคับการลบโดยใช้ตัวเลือก -D ซึ่งเป็นทางลัดสำหรับ --delete --force :

git branch -D branch_name

โปรดทราบว่าหากคุณลบสาขาที่ไม่ได้รวมคุณจะสูญเสียการเปลี่ยนแปลงทั้งหมดในสาขานั้น

หากต้องการแสดงรายการสาขาทั้งหมดที่มีการเปลี่ยนแปลงที่ยังไม่ git branch --no-merged คำสั่ง git branch --no-merged

หากคุณพยายามที่จะลบสาขาปัจจุบันคุณจะได้รับข้อความต่อไปนี้:

error: Cannot delete branch 'branch_name' checked out at '/path/to/repository'

คุณไม่สามารถลบสาขาที่คุณเปิดอยู่ ก่อนอื่นให้เปลี่ยนเป็นสาขาอื่นแล้วลบ branch_name :

git checkout master git branch -d branch_name

ลบสาขา Git ระยะไกล

ใน Git กิ่งก้านสาขาท้องถิ่นและระยะไกลเป็นวัตถุแยกกัน การลบสาขาท้องถิ่นไม่ได้ลบสาขาระยะไกล

หากต้องการลบสาขารีโมตให้ใช้คำสั่ง git push พร้อมกับอ็อพชัน -d ( --delete ):

git push remote_name --delete branch_name

โดยที่ remote_name มักจะเป็น origin :

git push origin --delete branch_name

… - branch_name

นอกจากนี้ยังมีคำสั่งทางเลือกเพื่อลบสาขาระยะไกลนั่นคืออย่างน้อยสำหรับฉันที่จำได้ยาก:

git push origin remote_name:branch_name

error: unable to push to unqualified destination: branch_name The destination refspec neither matches an existing ref on the remote nor begins with refs/, and we are unable to guess a prefix based on the source ref. error: failed to push some refs to '[email protected]:/my_repo'

ในสถานการณ์เช่นนี้คุณจะต้องซิงโครไนซ์รายชื่อสาขาของคุณด้วย:

git fetch -p

ตัวเลือก -p บอกให้ Git ลบการอ้างอิงการติดตามระยะไกลที่ไม่มีอยู่ในที่เก็บระยะไกลอีกต่อไปก่อนที่จะดึงข้อมูล

ข้อสรุป

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

ด้วยคำสั่ง git branch คุณสามารถเปลี่ยนชื่อสร้างและแสดงรายการ Git ในพื้นที่และระยะไกล