Git delete remote branch

刪除遠程分支或恢復到某次版本

知道何謂 遠端空間/遠端倉庫 (remote),可以使用ssh來登入並當作local操作指令,那操作直接執行下方介紹[二]

首先了解,你的步驟以及目前的狀態,儘管世界上有多種講法
但是不例外大約分為三種區域
Git 三種區域.jpg

Unstage 檔案正在更新,還未追蹤,或者還在working tree

1
git add .

stage 所謂暫存區

1
2
git commit
git push origin branch_name

remote 所謂的遠端

Git 版本為 2.9.0

1
git version

會顯示你的版本,這是我得到的結果:

1
git version 2.9.0.windows.1

[一]在 terminal 刪除遠端分支,使用以下方法

無法登入遠端操作指令時,或者懶得整理到正確版本時

1.要先對整理好 commit 的 branch 做備份(不怕一萬,只怕萬一)
2.輸入下面指令,刪除要刪除的遠端分支

1
git push origin :branch_name

3.隨即推上整理好的分支即可

1
git push origin branch_name
1
git push [远程名] :[分支名]

方便記憶方式

1
$ git push [远程名] [本地分支]:[远程分支]

如果省略 [本地分支],那就等于是在说“在这里提取空白然后把它变成[远程分支]”

情境題:假設你在github上要整理master的版本,但是太亂想砍掉
先到web登入github把預設master改成其他branch,再執行以上步驟,之後再改回master即可

[二] 修復到某次版本的 commit

需要用到 git reset這個指令

1
git reset –mixed = git reset-mixed Head = git reset

後面接指定的 commit 版本像是HEAD~2,會讓此版本以及上一個版本皆變成 unstage

1
git reset –soft

後面接指定的 commit 版本像是HEAD~2,會讓此版本回復到指定版本的stage狀態

1
git reset –hard

(嚴重小心此動作,會無法復原)
PS. 後面接指定的 commit 版本像是HEAD~2,會讓此版本回復到指定版本的上一個版本內容

修改當前版本的 commit

如果尚未推送至遠端,可以修改本地 commit

1
2
git add .
git commit --amend

即可對檔案以及 commit 訊息做重新的編輯

git reset 千萬查清楚來龍去脈

建議自己玩玩看,免得有那麼出差錯,最怕復原後,不知道怎麼復原你的復原更動(好繞口令XD)

Ref: Git如何删除远程仓库的某次错误提交
小的只是個初階GIT使用者,請鞭小力點,那當然歡迎指教和指證。

Comments

Your browser is out-of-date!

Update your browser to view this website correctly. Update my browser now

×