`
zengshaotao
  • 浏览: 781894 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

git 打标签

 
阅读更多

在Git中打标签非常简单,首先,切换到需要打标签的分支上:

$ git branch
* dev
  master
$ git checkout master
Switched to branch 'master'

然后,敲命令git tag <name>就可以打一个新标签:

$ git tag v1.0

可以用命令git tag查看所有标签:

$ git tag
v1.0

默认标签是打在最新提交的commit上的。有时候,如果忘了打标签,比如,现在已经是周五了,但应该在周一打的标签没有打,怎么办?

方法是找到历史提交的commit id,然后打上就可以了:

$ git log --pretty=oneline --abbrev-commit
12a631b (HEAD -> master, tag: v1.0, origin/master) merged bug fix 101
4c805e2 fix bug 101
e1e9c68 merge with no-ff
f52c633 add merge
cf810e4 conflict fixed
5dc6824 & simple
14096d0 AND simple
b17d20e branch test
d46f35e remove test.txt
b84166e add test.txt
519219b git tracks changes
e43a48b understand how stage works
1094adb append GPL
e475afc add distributed
eaadf4e wrote a readme file

比方说要对add merge这次提交打标签,它对应的commit id是f52c633,敲入命令:

$ git tag v0.9 f52c633

再用命令git tag查看标签:

$ git tag
v0.9
v1.0

注意,标签不是按时间顺序列出,而是按字母排序的。可以用git show <tagname>查看标签信息:

$ git show v0.9
commit f52c63349bc3c1593499807e5c8e972b82c8f286 (tag: v0.9)
Author: Michael Liao <askxuefeng@gmail.com>
Date:   Fri May 18 21:56:54 2018 +0800

    add merge

diff --git a/readme.txt b/readme.txt
...

可以看到,v0.9确实打在add merge这次提交上。

还可以创建带有说明的标签,用-a指定标签名,-m指定说明文字:

$ git tag -a v0.1 -m "version 0.1 released" 1094adb

用命令git show <tagname>可以看到说明文字

 

如果需要查看tag标签的代码,需要使用git checkout的命令。

 

使用git checkout tag即可切换到指定tag,例如:git checkout v0.1.0

切换到tag历史记录 会使当前指针处在分离头指针状态,这个时候的修改是很危险的,在切换回主线时如果没有合并,之前的修改提交基本都会丢失,如果需要修改可以尝试git checkout -b branch tag创建一个基于指定tag的分支,例如:git checkout -b test v0.1.0 这个时候就在这个test分支上进行开发,之后可以切换到主线合并。

注意这时候的test分支的代码很多都是tag版本处的,但是test分支head节点在最前面,这时候切换到主线进行合并,要注意合并后的代码冲突问题,不要让旧代码覆盖了主线的新代码。

git checkout -B

这个命令,可以强制创建新的分支,为什么加-B呢?如果当前仓库中,已经存在一个跟你新建分支同名的分支,那么使用普通的git checkout -b 这个命令,是会报错的,且同名分支无法创建。如果使用-B参数,那么就可以强制创建新的分支,并会覆盖掉原来的分支。

git checkout -B test v0.1.0 强制创建一个基于指定的tag的分支

分享到:
评论

相关推荐

    Git Tag 标签详解

    Git Tag 标签 git tag 按字母排序显示标签 git tag v1.01 打上v1.01这个标签 ...git标签分为两种类型:轻量标签和附注标签。轻量标签是指向提交对象的引用,附注标签则是仓库中的一个独立对象。建议使用附

    git-evtag, git标签的扩展验证.zip

    git-evtag, git标签的扩展验证 evtaggit-evtag 可以用作 git-tag -s的替换。 它将在提交。树和引用( 并递归过子模块)的blob上生成强校验和( 称为 Git-EVTag-v0-SHA512 ) 。 它的主要原因是,在增加威胁的情况下,git...

    Git分支和标签介绍

    介绍了Git分支和标签的原理及使用方法,Git分支内容包括Git原理、创建分支、合并分支、上传本地分支、跟踪远程分支等。Git标签内容包括查询Git标签、添加Git标签、为历史提交记录添加Git标签等。

    git-cheatsheet——Git常见操作可打印版

    `git tag &lt;tag-name&gt;`创建标签,`git tag`列出所有标签,`git show &lt;tag-name&gt;`查看标签详情,`git tag -d &lt;tag-name&gt;`删除标签。 11. **拉取请求(Pull Request)** 在GitHub等平台,当你在自己的分支上完成工作...

    Git 标签使用详解

    Git标签是Git版本控制系统中的一个重要特性,用于标识和记录项目中的特定版本。这些标签通常是不可变的,可以视为某一时刻代码库的快照,对于软件发布、里程碑记录或回溯重要版本非常有用。以下是Git标签的详细使用...

    Git Bash windows 64 git2.16.2

    标签"git,gitbash"分别代表了Git版本控制系统本身和其在Windows上的命令行接口Git Bash。Git是通过命令行进行操作的,而Git Bash在Windows上提供了与Unix/Linux类似的命令行环境,包括常用的shell命令和Git命令,如`...

    git工具git工具

    标签“git-2.6.3”指示了讨论的是Git的一个特定版本,即2.6.3。每个Git版本都有可能包含新功能、性能改进和错误修复。2.6.3版本可能引入了一些特定的变化,例如增强的分支管理、更快的合并操作或更友好的用户交互。 ...

    git文件打标签

    在日常开发中,合理使用Git标签可以帮助团队成员更好地理解项目历史,特别是在处理多版本发布时。通过打标签,我们可以清晰地追踪代码的发展历程,方便回滚至特定版本,从而提高协作效率和代码质量。所以,掌握Git的...

    Git中文学习手册 Git入门

    2 6 打标签 2 7 技巧和窍门 2 8 小结 3 Git 分支 3 1 何谓分支 3 2 分支的新建与合并 3 3 分支的管理 3 4 利用分支进行开发的工作流程 3 5 远程分支 3 6 分支的衍合 3 7 小结 4 服务器上的 Git 4 1 协议...

    Git:标签与版本发布教程.docx

    Git:标签与版本发布教程.docx

    git的最详细文档

    标签则可以为重要的提交打上标记;Stash可以暂时保存未提交的更改,方便你在不同分支之间切换;而重写历史则包括合并提交、修复错误提交等操作,需要谨慎使用。 对于Git小白来说,日记形式的学习文档是个很好的起点...

    git笔记git笔记git笔记git笔记git笔记git笔记git笔记git笔记

    根据提供的标题、描述、标签及部分内容,我们可以梳理出关于Git的基本使用方法以及分支管理和冲突解决的相关知识点。 ### Git基础知识 #### 创建与初始化仓库 - **`mkdir`**: 用于创建一个新的目录。例如,如果你...

    Git for Windows 2017 最新版,Git-2.15.0

    此外,理解和掌握分支管理、合并冲突解决以及标签(tag)的使用,将使你在项目协作中更加得心应手。 总的来说,Git-2.15.0是Git在Windows平台上的强大工具,不仅提供了一套完整的版本控制解决方案,还通过不断优化...

    git安装包git-2.34.0-64-bit.rar

    10. **标签管理**:`git tag`命令用于创建和管理标签,常用于标记重要的里程碑或版本。 为了配合Git的安装,可以参考官方文档或其他教程来学习这些概念和操作。在安装"Git-2.34.0-64-bit.exe"时,可以选择自定义...

    git相关操作,标签管理,远程仓库链接,公司跑程序原理

    python git相关操作,git标签管理,介绍了git在远程仓库的链接,以及后期liunx运行程序

    git 教材 progit

    7. **标签管理**:`git tag`命令用于标记特定的提交,通常用于发布版本或者重要里程碑。 8. **Git工作流**:了解Git的不同工作流模型,如GitFlow、Forking Workflow等,可以帮助你更好地适应团队协作的场景。 9. *...

    学习git和gitbash使用的一些详细操作

    - 使用标签(tag)来标记重要的提交点,`git tag &lt;tag-name&gt;`用于创建标签,`git push origin --tags`来推送标签到远程仓库。 - 使用`.gitignore`文件来忽略不需要纳入Git管理的文件,通常在仓库的根目录下创建该...

Global site tag (gtag.js) - Google Analytics