在 Git 中删除分支分为 本地分支 和 远程分支 两种情况,以下是具体操作方法和注意事项:
1. 删除本地分支
命令:
git branch -d <分支名> # 安全删除(仅当分支已合并到当前分支时允许)
git branch -D <分支名> # 强制删除(未合并的分支也会被删除)
示例:
git branch -d feature-test # 尝试删除已合并的 feature-test 分支
git branch -D hotfix # 强制删除未合并的 hotfix 分支
说明:
-d
(小写)会检查分支是否已合并,避免数据丢失。
-D
(大写)强制删除,无论是否合并。
2. 删除远程分支
命令:
git push <远程仓库名> --delete <分支名>
# 或简写:
git push origin :<分支名>
示例:
git push origin --delete dev # 删除远程的 dev 分支
git push origin :old-feature # 等效写法
说明:
origin
是远程仓库默认名称,可根据实际替换(如upstream
)。
3. 其他相关操作
(1)查看所有分支(确认后再删除):
git branch -a # 查看本地+远程分支
git remote show origin # 查看远程分支状态
(2)清理已失效的远程跟踪分支(本地缓存):
git fetch -p # --prune:同步远程已删的分支信息
注意事项
- 主分支保护:谨慎删除
main/master
、生产环境用的主干分支。 - 协作影响:确保其他成员不再需要该远程分支。
- 恢复误删:若误删未合并的分支,可通过
git reflog
+checkout
找回提交记录。
流程图解
”` [本地] [远程] git branch -d feature ───┐ │ git branch -D hotfix ├───→ git push –delete origin/feature
└───→ git push origin :hotfix
”`
内容由零声教学AI助手提供,问题来源于学员提问