博客 / 詳情

返回

gbkill輕鬆刪除git分支

🤡 批量刪除git分支

gbkill.gif

在日常開發中我們每做一個需求就會創建一個git功能分支,時間久了本地和線上的分支就會被累計很多。那麼此時有一個批量刪除git分支的工具就顯得尤為重要。GBKILL正是為了解決這一需求也生的工具,讓你更加高效的刪除git分支

該工具將列出項目中的git分支列表,然後您可以批量選擇需要刪除的git分支

🤡 安裝

您實際上不需要安裝它即可使用它!只需使用以下命令:

$ npx gbkill

或者你可以安裝它:

$ npm i -g gbkill

🏕️ 用法

在你的terminal下輸入gbkill(目前不兼容Windows終端的Git)gbkill會執行git命令掃描你當前項目下的git分支並且在列表中展示出來
Key Description
Space 空格鍵執行已合併分支刪除 (推薦: 防止誤刪除)
Tab Tab鍵執行`已合併 \ 未合併分支刪除 (**權限比Space鍵高`**)
RightArrow ->鍵執行`打開 \ 關閉`批量選擇分支功能
移動選擇分支
移動選擇分支

提示

  1. gbkill界面上的merge列表顯示yesNo是通過git branch --merged <name>判斷的。你可以通過執行gbkill --merged <name>指定合入的分支名稱
  2. gbkillmerge狀態為yes時,但你執行該分支刪除時出現NO_FORCE...fully merged。原因:該分支代碼沒有合併到當前聚焦分支。需要強制刪除
  3. 當執行gbkill --sync時,會先刪除目標分支的遠程分支再刪除本地分支

🏖️ 參數

gbkill的可配置參數,部分配置參數會被緩存到/用户主目錄/.gbkill文件中全局共享
Argument Description Cache
--force 強制刪除分支, 等價於git branch -D \<name\> (慎重: 會將本地commit的改動刪除掉)
--sync 是否同步刪除遠程分支
--merged \<name\> 指定用於判斷某個分支是否已經被合併的分支名稱 (git branch --merged \<name\>)
--lock \<names..\> 鎖定某些分支將會在列表隱藏,數據會被累加而不是替換(防止誤刪,保護某些分支
--unlock \<names..\> 解鎖--lock鎖定的分支

<!-- | --submodule | 是否展示 git 子模塊的分支列表 | 否 | -->

<!-- | --language \<name\> | 指定 GBkill 語言 ZH\|EN | 是 | -->

🏝️ Git分支狀態

分支狀態對應的描述
Status Description Color
NONE 分支處於正常狀態
DELETING 分支正在刪除 🌍
DELETED 分支已刪除 🟢
FAILED 分支刪除失敗 🔴
NO\_MERGED 該分支未合併到name分支(--merged <name>) 🟣
NO\_FORCE 該分支需要強制刪除git branch -D name(--force) 🟡
NO\_SYNC 同步刪除遠程分支失敗 🟠

🏞️ 已知問題

⚠️ 目前不支持Windows終端的Git,工具受限於ink,後續查找替代方案。請使用CMDVscode 終端的 Git...終端

⛺ 其它

  1. 該工具會持續優化, 如果你有更好的交互行為或者功能請求都可以給我提pr或者issue
  2. 感謝您使用該工具,也期待你的issue或者pr

<!-- 請勿刪除: EMO 圖形地址 -->

user avatar
0 位用戶收藏了這個故事!

發佈 評論

Some HTML is okay.