引用规格(refspec):就是在 .git/config 里面那个配置远程仓库的东西

[remote "origin"]
url = https://github.com/test/demo
fetch = +refs/heads/*:refs/remotes/origin/*

格式:由一个可选的 + 号和<src>:<dst>组成
  +:即使在不能快进的情况下也强制更新引用
  <src>:代表远程版本库中的引用
  <dst>:远程引用在本地所对应的位置

引用规格由git remote add命令自动生成,git获取服务器中refs/heads/下面的所有引用,并将他们写入本地的refs/remotes/origin中,所以,如果服务器上有一个master分支,在本地这三种写法是等价的:
  git log origin/master
  git log remotes/origin/master
  git log refs/remotes/origin/master
他们都会被扩展成 refs/remotes/origin/master

每次只拉取master分支,而不是所有分支,修改文件为:
  fetch = +refs/heads/master:refs/remotes/origin/master

将远程master分支拉取到本地的origin/mymaster分支:
  git fetch origin msater:refs/remotes/origin/mymaster

在配置文件中指定多个用于获取操作的引用规格,比如:
  [remote "origin"]
  url = https://github.com/test/demo
  fetch = +refs/heads/master:refs/remotes/origin/master
  fetch = +refs/heads/experiment:refs/remotes/origin/experiment
这样,每次拉取的时候都会拉取到master和experiment两个分支

模式不支持部分通配符,所以像下面这样的引用规格是不合法的:
  fetch = +refs/heads/qa*:refs/remotes/origin/qa*
可以通过子目录的方式来达到类似目的:
   假设QA 团队推送了一系列分支,只想拉取master和QA的分支,其他的不关心:
  [remote "origin"]
  url = https://github.com/test/demo
  fetch = +refs/heads/master:refs/remotes/origin/master
  fetch = +refs/heads/qa/*:refs/remotes/origin/qa/*

推送:
  命令行:git push origin master:refs/heads/qa/master
  配置文件:push = refs/heads/master:refs/heads/qa/master

删除:
  $ git push origin :topic
  因为引用规格的格式是 <src>:<dst>,所以把 <src> 留空,意味着把远程版本库的 topic 分支定义为空值,也就是删除它。

最新文章

  1. SuperMap-iServer-单点登录功能验证(CAS)
  2. logstash服务启动脚本
  3. 标准io与文件io
  4. JAVA addShutdownHook测试
  5. 使用Apache的.htaccess就可以防盗链
  6. Silverlight 上传文件源代码
  7. 滑动菜单栏(一)开源项目SlidingMenu的使用
  8. C 的 coroutine 库 via 云风的 BLOG
  9. hdoj (1162) 最小生成树
  10. TSQL Beginners Challenge 3 - Find the Factorial
  11. python基本运算
  12. C语言中函数可变参数解析
  13. Python系列之 - python循环语句
  14. Voronoi图和Delaunay三角剖分
  15. 总结:极光推送java服务端(1)
  16. django AnonymousUser
  17. XMind 入门教程
  18. 改装原生的dialog
  19. 简易Java文本编译器(C++)
  20. 机器学习初入门01-numpy的基础用法

热门文章

  1. RabbitMQ Performance Testing Tool 性能测试工具
  2. numpy, pandas, scikit-learn cheat sheet (速查表)
  3. 183.Wood Cut【hard】
  4. discuz添加管理员,找回管理员方法
  5. vue 组件1
  6. UIWebView加上safari风格前进后退按钮(转)
  7. iOS开发常见错误(转)
  8. library not found for -lPods-AFNetworking解决放案
  9. active mq 配置
  10. MySQL 5.7以上 root用户默认密码问题