分支的增删改查与本地/远程的对应关系。切换用
switch,创建用switch -c——checkout一个命令干了三件事,容易误操作。
git branch -a
git checkout <分支名>
# Git 2.23+ 推荐
git switch <分支名>
git checkout -b <新分支名>
# 或
git switch -c <新分支名>
git checkout --track origin/<远程分支名>
# 或
git switch -t origin/<远程分支名>
git branch -d <分支名> # 安全删除(已合并的分支)
git branch -D <分支名> # 强制删除(未合并的分支)
git push origin --delete <远程分支名>
# 或
git push origin :<远程分支名> # 旧语法
git branch --merged | grep -v "main\|master\|*" | xargs git branch -d
删除所有 已合并到当前分支 的本地分支(排除 main/master 和当前分支)。