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

Git引用

原文: http://gitbook.liuhui998.com/7_3.html

git中,分支(branch), 远程跟踪分支(remote-tracking branch)以及标签(tag)都是对提交的引用. 所有的引用是用"refs"开头, 以斜杠分割的路径. 到目前为此, 我们用到的引用名称其实是它们的简写版本:
- 分支"test"是"refs/heads/test"的简写.
- 标签"v2.6.18"是"refs/tags/v2.6.18"的简写.
- "origin/master"是"refs/remotes/origin/master"的简写.
偶尔的情况下全名会比较有用, 例如你的标签和分支重名了, 你应该用全名去区分它们.
(新创建的引用会依据它们的名字存放在.git/refs目录中. 然而, 为了提高效率, 它们也可能被打包到一个文件中, 参见 git pack-refs).
 
另一个有用的技巧是, 仓库的名字可以代表该仓库的HEAD. 例如, "origin"是访问"origin"中的HEAD分支的一个捷径.
要了解Git查找引用路径的完全列表, 以及多个同名简写引用的优先级关系, 请参见 git rev-parse中的"SPECIFYING REVISIONS".
显示某分支特有的提交
假设你想要查看在"master"分支可达(reachable)但其他任何分支不可达的提交.
我们可以使用git show-ref列出仓库中所有的头:
$ git show-ref --heads
bf62196b5e363d73353a9dcf094c59595f3153b7 refs/heads/core-tutorial
db768d5504c1bb46f63ee9d6e1772bd047e05bf9 refs/heads/maint
a07157ac624b2524a059a3414e99f6f44bebc1e7 refs/heads/master
24dbc180ea14dc1aebe09f14c8ecf32010690627 refs/heads/tutorial-2
1e87486ae06626c2f31eaa63d26fc0fd646c8af2 refs/heads/tutorial-fixes
我们可以使用cut和grep得到除"master"的其他"分支-头"(branch-head)部分,
$ git show-ref --heads | cut -d' ' -f2 | grep -v '^refs/heads/master'
refs/heads/core-tutorial
refs/heads/maint
refs/heads/tutorial-2
refs/heads/tutorial-fixes
然后我们就可以查看master中特有的提交:
$ gitk master --not $( git show-ref --heads | cut -d' ' -f2 |grep -v '^refs/heads/master' )
很明显上面的命令可以有无数种变种; 例如你想查看仓库中所有的分支可达但标签不可达的提交:
$ gitk $( git show-ref --heads ) --not  $( git show-ref --tags )
( git rev-parse提供了像"--not"之类的"选择提交"语法的解释.)

相关文章:

  • 定位(position)
  • Oracle触发器反向调用Java程序
  • Java编程的逻辑 (44) - 剖析TreeSet
  • NodeJS学习之文件操作
  • Linux教程:10条秘诀确保Linux桌面安全性
  • address元素
  • Uva 1626,括号序列
  • 【MyEcplise SVN】myEcplise上安装SVN的多种方式
  • 购物车的功能——界面源码
  • mysql 游标循环,嵌套游标循环
  • d 属性: 赋予字段执行动作的能力
  • 家庭局域网接入Internet
  • Reachability的用法 判断用户的网络状态
  • 图形学教学体系疏理
  • 每天一个linux命令(2):cd命令
  • 收藏网友的 源程序下载网
  • (三)从jvm层面了解线程的启动和停止
  • Fundebug计费标准解释:事件数是如何定义的?
  • HomeBrew常规使用教程
  • IP路由与转发
  • mysql 数据库四种事务隔离级别
  • MySQL主从复制读写分离及奇怪的问题
  • python docx文档转html页面
  • python学习笔记-类对象的信息
  • Vultr 教程目录
  • Web设计流程优化:网页效果图设计新思路
  • 大主子表关联的性能优化方法
  • 工作踩坑系列——https访问遇到“已阻止载入混合活动内容”
  • 官方解决所有 npm 全局安装权限问题
  • 技术攻略】php设计模式(一):简介及创建型模式
  • 解析带emoji和链接的聊天系统消息
  • 每天一个设计模式之命令模式
  • 提升用户体验的利器——使用Vue-Occupy实现占位效果
  • 在Unity中实现一个简单的消息管理器
  • #pragma pack(1)
  • (31)对象的克隆
  • (安全基本功)磁盘MBR,分区表,活动分区,引导扇区。。。详解与区别
  • (十八)devops持续集成开发——使用docker安装部署jenkins流水线服务
  • (十二)springboot实战——SSE服务推送事件案例实现
  • (算法)Game
  • (五)c52学习之旅-静态数码管
  • .babyk勒索病毒解析:恶意更新如何威胁您的数据安全
  • .halo勒索病毒解密方法|勒索病毒解决|勒索病毒恢复|数据库修复
  • .net core 6 使用注解自动注入实例,无需构造注入 autowrite4net
  • .NET Core 网络数据采集 -- 使用AngleSharp做html解析
  • .NET delegate 委托 、 Event 事件
  • .NET设计模式(2):单件模式(Singleton Pattern)
  • .xml 下拉列表_RecyclerView嵌套recyclerview实现二级下拉列表,包含自定义IOS对话框...
  • /etc/skel 目录作用
  • @Mapper作用
  • [2015][note]基于薄向列液晶层的可调谐THz fishnet超材料快速开关——
  • [2021]Zookeeper getAcl命令未授权访问漏洞概述与解决
  • [AutoSar]BSW_Com02 PDU详解
  • [bzoj4010][HNOI2015]菜肴制作_贪心_拓扑排序
  • [C++][数据结构][算法]单链式结构的深拷贝