前言

我们创建了很多分支,但是有一天一些旧的无用的分支已经在远程仓库删除了,但是我们本地对应的分支信息还在,我们需要将其和远程仓库同步。

教程

首先是远程分支同步处理:

git fetch --all --prune

获取所有远程仓库的最新提交,并删除本地仓库中不再存在的远程跟踪分支。

但是我们只能删除远程的分支,事实上git会在本地创建一个本地的分支,分支名的区别:远程分支是origin/xxx,本地是xxx,通过这个命令我们只是删除了origin/xxx,本地的分支还在。

如果分支不多,可以自己手动一个个删除。

如果分支多,或者很频繁处理这个事情,我们可以创建一个bash脚本来处理这个事情。

创建文件:delete-local-branch.bash

内容如下:

# 删除本地分支
for branch in $(git branch -vv | grep ': gone]' | awk '{print$1}'); do
    # 删除每个本地分支
    git branch -d $branch
done

然后进入终端运行:

./delete-local-branch.bash

即可将本地的分支批量删除。

分类: Git 笔记 标签: git分支同步

评论

暂无评论数据

暂无评论数据

目录