Git学习笔记(三)

简介:

一、标签是什么

发布一个版本时,我们通常先在版本库中打一个标签,这样,就唯一确定了打标签时刻的版本。将来无论什么时候,取某个标签的版本,就是把那个打标签的时刻的历史版本取出来。所以,标签也是版本库的一个快照。

Git的标签虽然是版本库的快照,但其实它就是指向某个commit的指针(跟分支很像对不对?但是分支可以移动,标签不能移动),所以,创建和删除标签都是瞬间完成的。

二、创建标签

Git 使用的标签有两种类型:轻量级的(lightweight)和含附注的(annotated)。轻量级标签就像是个不会变化的分支,实际上它就是个指向特定提交对象的引用。而含附注标签,实际上是存储在仓库中的一个独立对象,它有自身的校验和信息,包含着标签的名字,电子邮件地址和日期,以及标签说明,标签本身也允许使用 GNU Privacy Guard (GPG) 来签署或验证。一般我们都建议使用含附注型的标签,以便保留相关信息;当然,如果只是临时性加注标签,或者不需要旁注额外信息,用轻量级标签也没问题。

1.创建轻量级的标签

1
$ git tag v1. 0  //v1. 0 即为标签名,也可理解为定义的版本名,默认标签是打在最新提交的commit上的
$ git tag v0.9 commitId //指定为某个提交ID创建标签

2.创建含附注的标签

1
$ git tag -a v1. 4  -m  'my version 1.4'

3.创建签署标签

1
$ git tag -s v1. 0  -m  'my signed  version 1.0'

注意:签名采用PGP签名,因此,必须首先安装GPG,如果没有找到gpg,或者没有gpg密钥对,就会报错

三、查看标签

1.查看所有标签

1
$ git tag

显示的标签按字母顺序排列,所以标签的先后并不表示重要程度的轻重。

2.用特定的搜索模式列出符合条件的标签(如下列出标签名前面为v1.的所有标签)

1
$ git tag -l  'v1.*'

3.使用 git show 命令查看标签的信息

1
$ git show v1. 0

四、操作标签

1
2
3
4
5
6
7
$ git push origin <tagname> //可以推送一个本地标签
 
$ git push origin --tags  //可以推送全部未推送过的本地标签
 
$ git tag -d <tagname>  //可以删除一个本地标签
 
$ git push origin  :refs /tags/<tagname>  //可以删除一个远程标签

五、使用GitHub参与开源项目

1.首先你自己必需要有GitHub账号并已登录成功。

2.找到指定的开源项目GitHub地址,例如:

3.点击图上的Fork按钮,会在自己账号下克隆一个相同的仓库,例如:

4.使用git clone命令克隆到本地仓库,如:

1
$ git clone git @github .com :wheeky /learngit.git

5.在本地进行相应的操作,比如新增了一个文件(CTextBox.cs):

1
2
$ git add CTextBox.cs
$ git commit  'add CTextBox.cs'

6.使用git push命令推送更新到远程仓库:

1
$ git push

此时远程仓库就可以看到相应的更新(红色框内显示最后提交的信息),如图:

7.创建pull request请求,向开源项目的作者发送更新请求,如下列图示:

点击“New pull request”按钮,并在随后的页面里填写相应的标题、备注说明等信息提交即可,剩下的就是等原作者的处理。若提交成功可在作者的开源项目的Pull requests中可以看到自己请求记录,如下:

本文转自 梦在旅途 博客园博客,原文链接:http://www.cnblogs.com/zuowj/p/4556888.html  ,如需转载请自行联系原作者

相关文章
|
3月前
|
Shell 网络安全 开发工具
Git学习笔记
Git学习笔记
77 1
Git学习笔记
|
7月前
|
Linux 网络安全 开发工具
Git学习笔记
Git学习笔记
56 0
|
8月前
|
Linux 网络安全 API
git常用命令学习笔记
git常用命令学习笔记
45 0
|
9月前
|
程序员 开发工具 git
搭建博客可能会用到的 Git 命令|学习笔记
搭建博客可能会用到的 Git 命令|学习笔记
|
10月前
|
算法 安全 Linux
git第n次学习笔记
git第n次学习笔记
71 0
|
12月前
|
项目管理 开发工具 git
Git学习笔记(三) git submodule
Git学习笔记(三) git submodule
124 0
|
12月前
|
缓存 开发工具 git
Git学习笔记(二) git stash
Git学习笔记(二) git stash
838 0
|
12月前
|
开发工具 git
Git学习笔记(一) 常用命令
Git学习笔记(一) 常用命令
104 0
|
12月前
|
缓存 Linux 程序员
【学习笔记之Linux】工具之make/Makefile与git
【学习笔记之Linux】工具之make/Makefile与git
172 0
|
开发工具 git 索引
Git学习笔记-详细使用教程
Git学习笔记-详细使用教程
Git学习笔记-详细使用教程