标签管理也是git里面比较重要的一部分内容,我们下载软件的时候经常看到诸如v2.0、v2.3.0这样的版本号,在git里也是一样,有时为了避免分支的名称五花八门而发生混淆的情况,我们常常会

给分支贴上不同的标签以示区别。

1.创建标签:

我们先用checkout命令切换到需要打标签的分支上,然后用命令git tag <name>即可创建一个名为name的标签,我们可以用命令git tag来查看当前分支的标签。注意到标签是默认

打到最新提交的commit上的,如果想要给之前提交的分支打标签,我们需要先用命令git log --pretty=oneline --abbrev-commit查看历史提交的分支,然后找到对应的commit id,就可

续用命令行打标签了,例如git tag v0.9 6224937,后面的6224937就是commit id。可以用git show <tagname>查看标签的具体信息。此外,还可以创建带有说明的标签,用-a指定

标签名,-m指定说明文字:git tag -a v0.1 -m "version 0.1 released" 3628164,或者可以通过-s用私钥签名一个标签:git tag -s v0.2 -m "signed version 0.2 released"

fec145a,注意到这里的签名采用PGP签名,因此,必须首先安装gpg(GnuPG),如果没有找到gpg,或者没有gpg密钥对,就会报错。

2.操作标签:

如果标签打错了,就可以用命令git tag -d v0.1予以删除,因为创建的标签都只存储在本地,不会自动推送到远程。所以,打错的标签可以在本地安全删除。若想推送标签到远程,可以使用

命令git push origin v1.0,或者可以用命令 git push origin --tags 一次性推送全部尚未推送到远程的本地标签。如果标签已经推送到远程,要删除远程标签就麻烦一点,需要先从本地删除:git tag

-d v0.9,再从远程删除:git push origin :refs/tags/v0.9。

关于git的入门知识与基本操作就到这里了,常用的命令加起来二十来个,用多了自然就熟练了,大家加油~

学识有限,博文有缺漏之处,欢迎指正!

自学git心得-5的更多相关文章

  1. 自学git心得-2

    趁着最近还没忙起来,抓紧更新一下学习心得. 现在的情景是,我们已经在本地创建了一个Git仓库,又想在GitHub创建一个Git仓库,并且让这两个仓库进行远程同步,这样,GitHub上的仓库既可以作为备 ...

  2. 自学git心得-1

    Github作为目前世界上最先进的分布式版本控制系统,是软工工作者管理工程代码的不二选择,笔者也是因时所需,自学了基本的git操作,在此回顾一下也作为分享. 推荐学习资源:https://www.li ...

  3. 自学git心得-4

    本节介绍分支的一些具体应用实例. 1.Bug分支 设想我们正在分支dev上工作,突然接到一个修复bug的命令,我们需要创建分支issue-101来修复它,在此之前我们肯定需要先保存我们当前未完成的工作 ...

  4. 自学git心得-3

    转眼到第三节了,我们进入分支管理. git领域里的分支可以理解为一个有安全保障的临时仓库,有时我们新修改了代码,突然发现有bug需要回到之前的版本,有时我们开发到一半,突然要出去一趟,如何安全保存当前 ...

  5. 第一次使用Git心得体会

    用书本上的概念讲,Git是一个分布式的版本控制工具,每一个Git的工作目录都是一个完全独立的代码库,并拥有完整的历史记录和版本追踪能力,能够不依赖于网络和中心服务器.也就是说Git能够不需要服务器而在 ...

  6. git心得

    使用Git得到了以下体会: github在新的目录下添加新的文件 git init //在相应的目录下添加 git add //添加目录 git commit -m "first commi ...

  7. git心得与总结

    任何文件在Git库中都有四种状态:未跟踪状态untracked.跟踪状态tracked(未修改状态unmodified.已修改状态modified.暂存状态staged),由于文件的上述四种状态,在使 ...

  8. java自学入门心得体会 0.1

    之前记录了java的简介和基本语法 这里记载下对象和类 不太懂的我理解java对象和类的概念很模糊,因为有了 Abstract修饰符 让对象与类更加的扑朔迷离 - - 所以,就像很开放的语言,创建对象 ...

  9. java自学入门心得体会 从环境配置开始

    java —— 一种可以撰写跨平台应用软件的面向对象的程序设计语言. 很多教程里都要概述java语言的诞生发明.其实像图灵的”图灵机“和”图灵测试“一样,当初的java并不是这样. 是用来操控一些电冰 ...

随机推荐

  1. mysq5.7

    1.mv mysql-5.7.22-linux-glibc2.12-x86_64 mysql 2. chown -R work:work /home/work/mysql 3.su - work 4. ...

  2. MySQL 创建schema

    create schema zzz default character set utf8 collate utf8_general_ci;--创建数据库 grant select,insert,upd ...

  3. mysql中对my.cnf进行说明

    my.cnf说明: #vim /etc/my.cnf以下只列出my.cnf文件中[mysqld]段落中的内容,其他段落内容对MySQL运行性能影响甚微,因而姑且忽略. [mysqld] port =  ...

  4. 再学C/C++ 之 指针常量 和 常量指针

    (1)指针常量,将指针的指向当成常量.即指针变量的值只能在定义的时候初始化,定义后不能修改,也就是说不能改变指针变量的指向.但是不影响所指对象的访问特征.其定义形式为: 类型 * const 指针 / ...

  5. JDBC处理可滚动的处理集

    Statement createStatement(int resultSetType,                           int resultSetConcurrency,     ...

  6. JavaScript数据结构-11.散列

    <!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <title> ...

  7. C#判断字符串中是否包含一个子字符串是可以直接使用Contains()方法

    1. 以前判断一个字符串中是否包含另一个子字符串时,习惯使用 IndexOf(); string str = "ABC@QQ"; if(str.IndexOf("@&qu ...

  8. 07 volatile & java 内存模型

    一 从单例模式说起 在singleton 单例模式一文中我们详细了解Java中单例模式的实现,不了解的可以先阅读之. 在该文最后我们给出了双重校验锁来保证既实现线程安全,又能够使性能不受很大的影响的单 ...

  9. Delphi 通得进程ID获取主窗口句柄

    只知道进程ID,获取主窗口句柄的方法如下: 通过EnumWindows枚举所有窗口 使用GetWindowThreadProcessID,通过窗口句柄获取进程ID 比便获取的进程ID与当前已知的进程I ...

  10. SQL Serever学习6——数据表

    数据表 表的构成 数据库中的基本表由记录(行)和字段(列)构成,SQLServer2008每个表可以有1024个列,每个列可以有8060字节(不包括iamge,ntext,text类型). 记录(Re ...