• 本站文章除注明转载外,均为本站原创或者翻译。
  • 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商;
  • 本站部分原创和翻译文章提供markdown格式源码,欢迎使用文章源码进行转载;
  • 本文标题:Git查看、删除远程分支和tag
  • 本文链接:http://zengrong.net/post/1746.htm

2013-01-09:加入删除远程tag的内容


查看远程分支

加上-a参数可以查看远程分支,远程分支会用红色表示出来(如果你开了颜色支持的话):

? BASH
1
2
3
4
5
6
7
8
9
10
# git branch -a
master
remote
tungway
v1.52
* zrong
remotes/origin/master
remotes/origin/tungway
remotes/origin/v1.52
remotes/origin/zrong

删除远程分支和tag

在Git v1.7.0 之后,可以使用这种语法删除远程分支:

? BASH
1
git push origin --delete <branchName>

删除tag这么用:

? BASH
1
git push origin --delete tag <tagname>

否则,可以使用这种语法,推送一个空分支到远程分支,其实就相当于删除远程分支:

? BASH
1
git push origin :<branchName>

这是删除tag的方法,推送一个空tag到远程tag:

? BASH
1
2
git tag -d <tagname>
git push origin :refs/tags/<tagname>

两种语法作用完全相同。

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

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

使用下面的代码查看b1的状态:

? BASH
1
2
3
4
5
6
7
8
9
10
11
12
# git remote show origin
* remote origin
Fetch URL: git@github.com:xxx/xxx.git
Push URL: git@github.com:xxx/xxx.git
HEAD branch: master
Remote branches:
master tracked
refs/remotes/origin/b1 stale (use 'git remote prune' to remove)
Local branch configured for 'git pull':
master merges with remote master
Local ref configured for 'git push':
master pushes to master (up to date)

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

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

? BASH
1
git fetch -p

把本地tag推送到远程

? BASH
1
$ git push --tags

获取远程tag

? BASH
1
$ git fetch origin tag <tagname>

参考文章

最新文章

  1. mysql 5.7中的用户权限分配相关解读!
  2. js : json和 cookie 的简单操作
  3. eclipse启动报错java.lang.IllegalStateException: LifecycleProcessor not initialized - call &#39;refresh&#39; befo
  4. HD2767Proving Equivalences(有向图强连通分量+缩点)
  5. 注意Activator.CreateInstance两个重载方法的性能
  6. 对于(function(){}())和function(){}实例的作用域分析(里面有很多问题……)
  7. shell 基本结构
  8. Spring 常用工具类
  9. 自编译安装nginx
  10. Swift - 43 - 继承, 多态, 析构函数
  11. java--局部类只能访问外包方法的final局部成员
  12. Android开发框架SmartAndroid2.0 强劲框架
  13. Mysql5.7.20 On Windows安装指导
  14. 学习随笔:Django 补充及常见Web攻击 和 ueditor
  15. 四十九、进程间通信——System V IPC 之消息队列
  16. 迁移python project
  17. jquery全选的选中和取消选中
  18. linux 学习笔记六 tail 命令
  19. 普通程序员,三年成为年薪70w架构师,只因做到了这些
  20. 非static成员函数通过类名::来调用,空指针调用成员方法不出错!

热门文章

  1. Unix系统编程()信号:概念和概述
  2. wrk -- 小巧轻盈的 http 性能测试工具.
  3. struts2 OGNL ValueStack概念理解 # % $ 的区别
  4. httpoxy 漏洞预警及修复方案
  5. mui区域滚动条
  6. CLion 2017 注册码
  7. 小结:hash
  8. Mac终端运行java程序
  9. 第十五篇:使用 FP-growth 算法高效挖掘海量数据中的频繁项集
  10. Android之布局属性归纳