1.删除远程分支

在远程下面,选择需要删除的分支,右击,选择删除

2.  删除不存在远程对应分支的本地分支

在远程上建立了一个分支feature,后来leader觉得不合理,就把远程feature分支删除,并又建立了一个feature分支,这导致我在sourceTree上无法pull到最新的版本。

也假设出现这样的情况:

  1. 我创建了本地分支b1并pull到远程分支 origin/b1
  2. 其他人在本地使用fetch或pull创建了本地的b1分支;
  3. 我删除了 origin/b1 远程分支;
  4. 其他人再次执行fetch或者pull并不会删除这个他们本地的 b1 分支,运行 git branch -a 也不能看出这个branch被删除了,如何处理?

[root@test01 H2]# git remote show origin
* remote origin
  Fetch URL: git@hdt.gitlab.com:engine/H2.git
  Push  URL: git@hdt.gitlab.com:engine/H2.git
  HEAD branch: master
  Remote branches:
    H2-Doc                              tracked
    develop                             tracked
    feature/test                        new (next fetch will store in remotes/origin)
    feature/testpush                    new (next fetch will store in remotes/origin)
    feature_ai                          tracked
    feature_lyp                         tracked
    master                              tracked
    refs/remotes/origin/13123123        stale (use 'git remote prune' to remove)
    refs/remotes/origin/LogModModify    stale (use 'git remote prune' to remove)
    refs/remotes/origin/RequestModVideo stale (use 'git remote prune' to remove)
    refs/remotes/origin/feature         stale (use 'git remote prune' to remove)
    refs/remotes/origin/test-1111       stale (use 'git remote prune' to remove)
    refs/remotes/origin/test/test       stale (use 'git remote prune' to remove)
    video                               tracked
  Local branches configured for 'git pull':
    develop merges with remote develop
    master  merges with remote master
  Local refs configured for 'git push':
    develop pushes to develop (local out of date)
    master  pushes to master  (up to date)

这时候能够看到feature是stale的,使用 git remote prune origin 可以将其从本地版本库中去除。

[root@test01 H2]# git remote prune origin
Pruning origin
URL: git@hdt.gitlab.com:engine/H2.git
 * [pruned] origin/13123123
 * [pruned] origin/LogModModify
 * [pruned] origin/RequestModVideo
 * [pruned] origin/feature
 * [pruned] origin/test-1111
 * [pruned] origin/test/test

更简单的方法是使用这个命令,它在fetch之后删除掉没有与远程分支对应的本地分支:

git fetch -p

查看全部分支

[root@test01 H2]# git branch -a
* develop
  master
  remotes/origin/H2-Doc
  remotes/origin/HEAD -> origin/master
  remotes/origin/develop
  remotes/origin/feature_ai
  remotes/origin/feature_lyp
  remotes/origin/master
  remotes/origin/video

可以看到feature分支已经被删除掉了

参考链接   http://blog.csdn.net/ai2000ai/article/details/45021977

代码管理(五)git 删除分支的更多相关文章

  1. 通过代码管理工具 git 完成一次完整的代码管理过程

    1.从公共远程fork一份自己的本地远程之后,从本地远程 clone 到本地 2.将本地代码跟公共远程代码做关联配置 git remote add upstream https://github.co ...

  2. java接口自动化(五) - 企业级代码管理工具Git的配置

    1.简介 上一篇讲解完如何安装Git后,今天宏哥趁热打铁讲解一下Git的使用,要想使用Git,我们还需要做一些准备工作,首先你的拥有一个Git账号,所以如果你没有的话,就快速注册一个吧. 2.Git注 ...

  3. 代码管理工具Git的安装及使用

    一:Git是什么? Git是目前世界上最先进的分布式版本控制系统. 二:SVN与Git的最主要的区别? SVN是集中式版本控制系统,版本库是集中放在中央服务器的,而干活的时候,用的都是自己的电脑,所以 ...

  4. 代码管理工具 Git

    之前一直使用微软的代码管理工具TFS(Team Foundation Server)..NET CORE 2.0的发布后,考虑到.NET CORE项目可以跨平台,准备把项目迁移到.NET CORE 环 ...

  5. SourceTree代码管理学习git命令操作

    Git管理工具SourceTree提交代码时报文件名过长,用命令解决这个错误: 使用git status查看状态信息 git status 使用git add将修改后的文件(.代表全部文件)添加到暂存 ...

  6. 使用代码管理工具(git)管理代码的常用指令合集

    create a new repository on the command line echo "# test" >> README.md git init git ...

  7. 代码管理工具 --- git的学习笔记二《git的工作原理》

    通过几个问题来学习代码管理工具之git 一.git是什么?为什么要用它?使用它的好处?它与svn的区别,在Mac上,比较好用的git图形界面客户端有 git 是分布式的代码管理工具,使用它是因为,它便 ...

  8. 代码管理 ,git 命令整理

    //先要理解这四个概念,这是一个提交代码的流动轨迹:1.工作区(编辑器)-经过add到2- 2.暂存区 (缓存)- 经过commit3-3.本地仓库 (本地项目)-经过 push4-4.远程仓库 (线 ...

  9. Git删除分支/恢复分支

     • 删除一个已被终止的分支 如果需要删除的分支不是当前正在打开的分支,使用branch -d直接删除 git branch -d <branch_name> • 删除一个正打开的分支 如 ...

  10. 代码管理工具-Git基础介绍及常用技巧

    目录 Git起源 基本概念 Branch.HEAD和Commit tree Git分支 git merge 和 git rebase 的区别和抉择 与远程仓库的交互 关于一些实际开发场景的问题和解决方 ...

随机推荐

  1. MAC升级nodejs和npm到最新版

    第一步,先查看本机node.js版本: node -v 第二步,清除node.js的cache: sudo npm cache clean -f 第三步,安装 n 工具,这个工具是专门用来管理node ...

  2. 【Python】使用geopy由经纬度找地理信息

    from geopy.geocoders import Nominatim geolocator = Nominatim() location = geolocator.reverse("3 ...

  3. Tone Mapping算法系列一:基于Fast Bilateral Filtering 算法的 High-Dynamic Range(HDR) 图像显示技术。

    一.引言 本人初次接触HDR方面的知识,有描述不正确的地方烦请见谅. 为方便文章描述,引用部分百度中的文章对HDR图像进行简单的描述. 高动态范围图像(High-Dynamic Range,简称HDR ...

  4. yii源码一 -- CComponent

    CComponent: path:framework/base/CComponent.php overview:This file contains the foundation classes fo ...

  5. C语言常见问题 如何用Visual Studio编写C语言程序测试

    新建Win32控制台应用程序   勾选控制台空项目   右击源文件,添加cpp文件   输入范例代码,可以正常运行#include <stdio.h> int main(void) { i ...

  6. Unity3D 导入Xcode 工程后。编译很慢

    Unity3D 导入Xcode 工程后.编译很慢 选择Targets-->Build options -->debug information format  然后选择DWARF 这样再次 ...

  7. 将/home空间从新挂载到/var/lib/docker

    [lxl@node1 ~]# df -h Filesystem Size Used Avail Use% Mounted on /dev/mapper/centos-root 49G 34G 15G ...

  8. 微信小程序 - 上传图片(组件)

    更新日期: 2019/3/14:首次发布,更新了2018/12/30的UI以及反馈信息获取方式,具体请下载:demo. 2019/3/20:感谢544429676@qq.com指出的现存bug,已修复 ...

  9. hive中简单介绍分区表(partition table)——动态分区(dynamic partition)、静态分区(static partition)

    一.基本概念 hive中分区表分为:范围分区.列表分区.hash分区.混合分区等. 分区列:分区列不是表中的一个实际的字段,而是一个或者多个伪列.翻译一下是:“在表的数据文件中实际上并不保存分区列的信 ...

  10. C#中e.Cancel,e.Handled的区别与应用

    首先并不是每个事件的e参数都有上述两个属性. e.Cancel:获取或设置指示是否应取消事件的值:e.Handled:获取或设置一个值,该值指示是否处理过此事件. 下面说说比较常见的场景: 1)e.c ...