Git刪除分支/恢復(fù)分支

? 刪除一個已被終止的分支
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}

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

友情鏈接更多精彩內(nèi)容