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. 性能测试工具——Mxdperfstat

    Mxdperfstat是一款mxd性能检测工具,使用它来测试专题地图的性能非常不错! 获取工具 https://www.arcgis.com/home/item.html?id=a269d03aa1c ...

  2. AngularJS实现三级Table列表

    angular.module('yo03App') .controller('MyrouteCtrl', function ($scope) { $scope.professors = [{ 'nam ...

  3. 解决Visio复制绘图时虚框变实框的问题

    参考:http://www.educity.cn/help/653700.html 问题好像是,在VISIO里只要虚线框的大小超过一个界限,拷贝之后就会变成实线框. 解决办法是修改注册表:[运行reg ...

  4. https调试

    我们知道https通信在开始时会发送一个METHOD为CONNECT的请求,让服务器将证书以及相关的信息返回给浏览器,在没有得到这些信息之前,浏览器是不会信任服务器发来的任何数据的.So现在我们要让F ...

  5. sell 项目 订单详情表 设计 及 创建

    1.数据库设计 2.订单详情表 创建 /** * 订单详情表 */ create table `order_detail` ( `detail_id` varchar(32) not null, `o ...

  6. go语言生成uuid

    操作系统: CentOS 6.9_x64 go语言版本: 1.8.3 问题描述 golang没有提供生成uuid的接口,但开发中确实需要uuid. 这里把看到的代码记录下,也方便我以后查阅. 解决方案 ...

  7. Response的返回内容类型

    转载请注明原文地址:http://www.cnblogs.com/ygj0930/p/6682514.html  服务器在返回结果给浏览器时,通常需要先设置响应头的contentType属性.那么,c ...

  8. JDBC编程之预编译SQL与防注入式攻击以及PreparedStatement的使用教程

      转载请注明原文地址: http://www.cnblogs.com/ygj0930/p/5876951.html 在JDBC编程中,常用Statement.PreparedStatement 和  ...

  9. Linux日志文件utmp、wtmp、lastlog、messages

            1.有关当前登录用户的信息记录在文件utmp中:==who命令 2.登录进入和退出纪录在文件wtmp中:==w命令 3.最后一次登录文件可以用lastlog命令察看: 4.messag ...

  10. emplace_back() 和 push_back 的区别(转)

    在引入右值引用,转移构造函数,转移复制运算符之前,通常使用push_back()向容器中加入一个右值元素(临时对象)的时候,首先会调用构造函数构造这个临时对象,然后需要调用拷贝构造函数将这个临时对象放 ...