git(十)-git refspec以及远程标签
来源:互联网 发布:包贝尔鸡兔同笼算法 编辑:程序博客网 时间:2024/06/06 21:42
HEAD标记:HEAD文件是一个指向你当前所在分支的引用标示符,该文件内部并不包含SHA-1值,而是指向另外一个引用的指针。
当执行git commit命令时,git会创建一个commit对象,并且将这个commit对象的parent指针设置为HEAD所指向的引用的SHA-1值。
另外凡是只要修改了HEAD的git操作都会计入reflog。
实际上我们可以通过底层命令symbolic-ref来实现对HEAD文件的修改
Administrator@CeaserWang MINGW64 /e/Study/mygit (dev)$ git symbolic-ref HEADrefs/heads/devAdministrator@CeaserWang MINGW64 /e/Study/mygit (dev)$ git symbolic-ref HEAD refs/heads/testAdministrator@CeaserWang MINGW64 /e/Study/mygit (test)$
其他形式不按照准则的会报错:
$ git symbolic-ref HEAD askj/ajkaj/llfatal: Refusing to point HEAD outside of refs/
标签:
创建标签:
git show v1.0
$ git show v1.0commit b76e5510bdde8e3e0209b16037865eeecca890ff (HEAD -> test, tag: v2.0, tag: v1.0, origin/test, origin/master, origin/dev, master, dev)Author: ceaserwang <ceaserwang@outlook.com>Date: Tue Aug 1 19:44:50 2017 +0800 modifydiff --git a/test.txt b/test.txtindex c46f196..dfdd12d 100644--- a/test.txt+++ b/test.txt@@ -1,2 +1,3 @@ hello java hello python+hello C++
git show v2.0
$ git show v2.0tag v2.0Tagger: ceaserwang <ceaserwang@outlook.com>Date: Tue Aug 1 21:25:52 2017 +0800v2.0releasedcommit b76e5510bdde8e3e0209b16037865eeecca890ff (HEAD -> test, tag: v2.0, tag: v1.0, origin/test, origin/master, origin/dev, master, dev)Author: ceaserwang <ceaserwang@outlook.com>Date: Tue Aug 1 19:44:50 2017 +0800 modifydiff --git a/test.txt b/test.txtindex c46f196..dfdd12d 100644--- a/test.txt+++ b/test.txt@@ -1,2 +1,3 @@ hello java hello python+hello C++
git show v2.0 显示的详细明显比v1.0多。
将标签推送到远程:
git push的时候默认不会将标签也推送到远程,需要执行:
$ git push origin v1.0Total 0 (delta 0), reused 0 (delta 0)To https://github.com/1156721874/mygit.git * [new tag] v1.0 -> v1.0
在github上面可以看到提交的标签:
将所有本地未推送的标签推送到远程:
$ git push origin --tagsCounting objects: 5, done.Delta compression using up to 8 threads.Compressing objects: 100% (5/5), done.Writing objects: 100% (5/5), 349 bytes | 0 bytes/s, done.Total 5 (delta 4), reused 0 (delta 0)remote: Resolving deltas: 100% (4/4), done.To https://github.com/1156721874/mygit.git * [new tag] v1.0 -> v1.0 * [new tag] v2.0 -> v2.0 * [new tag] v3.0 -> v3.0 * [new tag] v4.0 -> v4.0 * [new tag] v5.0 -> v5.0 * [new tag] v6.0 -> v6.0
此时另外一个开发者执行git pull将会把所有的标签拉取下来。
PS:标签和每一次提交时一一对应的,提交的id是一个SHA-1值,不便于记忆,tag是对这次提交的一个别名,可以这么理解。
阅读全文
0 0
- git(十)-git refspec以及远程标签
- git(九)-git refspec以及git别名
- Git删除远程标签
- 9.5 Git 内部原理 - The Refspec
- Git中的Reference及其refspec概述
- git src refspec ~ does not match any
- Git入门指南十:应用标签
- Git 推送和删除远程标签
- Git 推送和删除远程标签
- Git Book读书笔记--git远程仓库&&打标签&&别名
- Git命令快速参考以及git远程仓库的使用
- git修改远程仓库地址,以及项目关联git
- Git 远程初始化以及本地设置
- git 远程
- git之远程标签下载(远程分支)
- GIT问题: error:src refspec master does not match any
- 【git】error: src refspec master does not match any.
- [git常见问题]error: src refspec matches more than one.
- [总结] 离散数学真是博大精深(一)
- caffe训练图片分类遇到一些问题
- 我的大三暑期培训(八月)
- 浅析设计模式(三)观察者模式
- 避免CI成为一个安全隐患
- git(十)-git refspec以及远程标签
- Spingboot中RESTful API的应用
- C语言中,我想在一个函数里用另一个函数的变量怎么办?
- 关于辗转相除法求gcd的证明
- 论学习和工作的最大区别
- 四种排序方法
- Redis Cluster 3.0搭建与使用
- 深入理解spring事务管理
- Java NIO学习资料