? 刪除一個已被終止的分支
git branch -d <branch_name>
如果需要刪除的分支不是當(dāng)前正在打開的分支,使用branch -d直接刪除
? 刪除一個正打開的分支
如果我們在試圖刪除一個分支時自己還沒轉(zhuǎn)移到另外的分支上,Git就會給出一個警告,并拒絕該刪除操作。
如果堅(jiān)持要刪除該分支的話,就需要在命令中使用-D選項(xiàng)。
git branch -D <branch_name>
? 恢復(fù)被刪除的分支
Git會自行負(fù)責(zé)分支的管理,所以當(dāng)我們刪除一個分支時,Git只是刪除了指向相關(guān)提交的指針,但該提交對象依然會留在版本庫中。
因此,如果我們知道刪除分支時的散列值,就可以將某個刪除的分支恢復(fù)過來。在已知提交的散列值的情況下恢復(fù)某個分支:
git branch <branch_name> <hash_val>
如果我們不知道想要恢復(fù)的分支的散列值,可以用reflog命令將它找出來。如:

image
reflog命令:
顯示整個本地倉儲的commit,包括所有branch的commit,甚至包括已經(jīng)撤銷的commit。
只要HEAD發(fā)生了變化, 就會在reflog里面看得到。
這時恢復(fù)分支a_branch分支如下:
git branch <branch_name> HEAD@{4}