当前位置: 首页 > article >正文

Git清理本地残留的、但已经在服务器上被删除的分支

要筛选出已经被服务器删除的本地分支,并在本地删除这些分支,可以按照以下步骤进行操作:

步骤 1: 获取远程分支信息,确保本地的远程分支信息是最新的:

git fetch -p

步骤 2: 列出本地分支和远程分支:

git branch -vv

步骤 3: 筛选出已经被服务器删除的本地分支:

git branch -vv | grep ': gone]' | awk '{print $1}'

步骤 4: 删除已经被服务器删除的本地分支:

git branch -vv | grep ': gone]' | awk '{print $1}' | xargs -r git branch -D

详细解释

git fetch -p:从远程仓库获取最新的分支信息,并删除本地已经不存在的远程分支。

git branch -vv:列出所有本地分支,并显示每个分支对应的远程分支和最新的提交信息。

grep ': gone]':筛选出那些远程分支已经被删除的本地分支。‘: gone]’ 是 git branch -vv 输出中表示远程分支已删除的标记。

awk '{print $1}':提取分支名称。

xargs -r git branch -D:使用 xargs 将筛选出的分支名称传递给 git branch -D 命令,批量删除这些本地分支。

示例

假设执行 git branch -vv 的输出如下:

  feature1 1234567 [origin/feature1: gone] Some commit message
  feature2 89abcdef [origin/feature2] Another commit message
  feature3 fedcba98 [origin/feature3: gone] Yet another commit message

然后执行删除命令:

git branch -vv | grep ': gone]' | awk '{print $1}' | xargs -r git branch -D

将会删除本地的 feature1feature3 分支,因为它们对应的远程分支已经被删除。


http://www.kler.cn/a/577301.html

相关文章:

  • STM32 I2C驱动开发全解析:从理论到实战 | 零基础入门STM32第五十步
  • oracle检查字段为空
  • Java面试时,该如何准备亮点?
  • 如何让非 root 用户构建 Docker 镜像
  • Python 2025:AI霸主地位受挑战?最新技术趋势与未来展望
  • PCB孔的类型及设计规则
  • 十大数据科学Python库
  • plt.rcParams[‘axes.linewidth‘]设置线框宽度
  • DeepSeek R1-7B 医疗大模型微调实战全流程分析(全码版)
  • RabbitMQ消息队列中间件安装部署教程(Windows)-2025最新版详细图文教程(附所需安装包)
  • Redis|集群 Cluster
  • ⭐算法OJ⭐N-皇后问题 II【回溯剪枝】(C++实现)N-Queens II
  • uniapp+<script setup lang=“ts“>使用 uni.$emit和uni.$on全局传递数据
  • Ubuntu系统安装Minikube教程
  • C# Excel开源操作库MiniExcel使用教程
  • 揭开AI-OPS 的神秘面纱 第三讲(下)数据平台层技术架构与组件选型分析
  • 计算机网络——交换机实验(模拟)
  • 大白话html语义化标签优势与应用场景
  • 【Axure高保真原型】多选树筛选表格
  • 【基础知识】回头看Maven基础