博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
代码管理(五)git 删除分支
阅读量:6762 次
发布时间:2019-06-26

本文共 2089 字,大约阅读时间需要 6 分钟。

 

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

你可能感兴趣的文章
Java
查看>>
HTTP Response Spliting 防范策略研究
查看>>
Libgdx window add alpha action change the background actor alpha
查看>>
(转)过滤器原理
查看>>
JavaScript 触发click事件 兼容FireFox,IE 和 Chrome
查看>>
【英语称谓】软件行业外企称谓简称
查看>>
实现打印级别且带图片的Excel 方案
查看>>
自动化CI构建工具
查看>>
批处理中的变量
查看>>
grub2手动引导ubuntu
查看>>
ORACLE SEQUENCE 介绍
查看>>
发个招聘信息
查看>>
JSEclipse—Eclipse上的JavaScript开发工具
查看>>
【NOIP模拟题】小象涂色(概率+期望+递推)
查看>>
Tomcat全攻略
查看>>
[CB2]start up
查看>>
转:高层游戏引擎——基于OGRE所实现的高层游戏引擎框架
查看>>
CodeCounter代码统计
查看>>
.Net垃圾收集机制—了解算法与代龄
查看>>
怎样实现Web控件文本框Reset的功能
查看>>