git 列出标签
Tagging lets developers mark important checkpoints in the course of their projects' development. For instance, software release versions can be tagged. (Ex: v1.3.2) It essentially allows you to give a commit a special name(tag).
通过标记,开发人员可以在项目开发过程中标记重要的检查点。 例如,可以标记软件发行版本。 (例如:v1.3.2)从本质上讲,它可以使提交具有特殊的名称(标记)。
To view all the created tags in alphabetical order:
要按字母顺序查看所有创建的标签:
git tag
To get more information on a tag:
要获取有关标签的更多信息:
git show v1.4
There are two types of tags:
标签有两种类型:
Annotated
带注解
git tag -a v1.2 -m "my version 1.4"
Lightweight
轻巧的
git tag v1.2
They differ in the way that they are stored.These create tags on your current commit.
它们的存储方式不同。这些在当前提交时创建标记。
Incase, you’d like to tag a previous commit specify the commit ID you’d like to tag:
如果要标记上一个提交,请指定要标记的提交ID:
git tag -a v1.2 9fceb02
The tags names may be used instead of commit IDs while checking out and pushing commits to a remote repo.
在签出并将推送推送到远程存储库时,可以使用标签名称代替提交ID。
Git documentation: Documentation
Git文档: 文档
Git Tagging Chapter: Book
Git标签章节: 书
You can list all available tags in a project with the git tag
command (nate that they will appear in alphabetical order):
您可以使用git tag
命令列出项目中所有可用的标签(它们将以字母顺序显示):
$ git tag
v1.0
v2.0
v3.0
This way of listing tags is great for small projects, but greater projects can have hundreds of tags, so you may need to filter them when searching for an important point in the history. You can find tags containing specific characters adding an -l
to the git tag
command:
这种列出标签的方式非常适合小型项目,但是较大的项目可以包含数百个标签,因此在搜索历史中的重要点时可能需要过滤它们。 您可以找到包含特定字符的git tag
,在git tag
命令中添加-l
:
$ git tag -l "v2.0*"
v2.0.1
v2.0.2
v2.0.3
v2.0.4
You can create two type of tags: annotated and lightweight. They first ones are compete objects in GIT database: they are checksummed, requiere a message (like commits) and store other important data such as name, email and date. On the other hand, lightweight tags don require a mesage or store other data, working just as a pointer to a specific point in the project.
您可以创建两种类型的标签:带注释的标签和轻量标签。 它们中的第一个是GIT数据库中的竞争对象:对它们进行校验和,要求一条消息(例如提交)并存储其他重要数据,例如名称,电子邮件和日期。 另一方面,轻量级标签不需要消息或存储其他数据,就像指向项目中特定点的指针一样。
To create an anotated tag, add -a tagname -m "tag message"
to the git tag
command:
要创建带注释的标签,请在git tag
命令中添加-a tagname -m "tag message"
:
$ git tag -a v4.0 -m "release version 4.0"
$ git tag
v1.0
v2.0
v3.0
v4.0
As you can see, the -a
specifies that you are creating an annotated tag, after comes the tag name and finally, the -m
followed by the tag message to store in the Git database.
如您所见, -a
指定您要创建带注释的标签,标签名称后面是-a
,最后是-m
后跟标签消息以存储在Git数据库中。
Lightweight tags contain only the commit checksum (no other information is stored). To create one, just run the git tag
command without any other options (the -lw characters at the end of the name are used to indicate lightweight tags, but you can mark them as you like):
轻量级标签仅包含提交校验和(不存储其他信息)。 要创建一个,只需运行git tag
命令,不带任何其他选项(名称末尾的-lw字符用于表示轻量级标签,但您可以根据需要对其进行标记):
$ git tag v4.1-lw
$ git tag
v1.0
v2.0
v3.0
v4.0
v4.1-lw
This time you didn’t specify a message or other relevant data, so the tag contains only the refered commit’s checksum.
这次您没有指定消息或其他相关数据,因此标签仅包含引用的提交的校验和。
You can run the git show
command to view the data stored in a tag. In the case of annotated tags, you’ll see the tag data and the commit data:
您可以运行git show
命令来查看存储在标签中的数据。 对于带注释的标签,您将看到标签数据和提交数据:
$ git show v4.0
tag v4.0
Tagger: John Cash
Date: Mon Sat 28 15:00:25 2017 -0700
release version 4.0
commit da43a5fss745av88d47839247990022a98419093
Author: John Cash
Date: Fri Feb 20 20:30:05 2015 -0700
finished details
If the tag you are watching is a lightweight tag, you’ll only see the refered commit data:
如果您正在查看的标签是轻量级标签,则您只会看到引用的提交数据:
$ git show v1.4-lw
commit da43a5f7389adcb9201ab0a289c389ed022a910b
Author: John Cash
Date: Fri Feb 20 20:30:05 2015 -0700
finished details
You can also tag past commits using the git tag commit. In order to do this, you’ll need to specify the commit’s checksum (or at least a part of it) in the command’s line.
您还可以使用git标签commit标记过去的提交。 为此,您需要在命令行中指定提交的校验和(或至少校验和的一部分)。
First, run git log to find out the required commit’s checksum:
首先,运行git log找出所需提交的校验和:
$ git log --pretty=oneline
ac2998acf289102dba00823821bee04276aad9ca added products section
d09034bdea0097726fd8383c0393faa0072829a7 refactorization
a029ac120245ab012bed1ca771349eb9cca01c0b modified styles
da43a5f7389adcb9201ab0a289c389ed022a910b finished details
0adb03ca013901c1e02174924486a08cea9293a2 small fix in search textarea styles
When you have the checksum needed, add it at the end of the tag creation line:
拥有所需的校验和后,将其添加到标签创建行的末尾:
$ git tag -a v3.5 a029ac
You’ll see the tag was correctly added running git tag
:
您会看到标签已正确添加,并运行git tag
:
$ git tag
v1.0
v2.0
v3.0
v3.5
v4.0
v4.1-lw
Git does’t push tags by default when you run the git push command. So, to succesfully push a tag to a server you’ll have to git push origin
command:
默认情况下,当您运行git push命令时,Git不会推送标签。 因此,要成功将标签推送到服务器,您必须使用git push origin
命令:
$ git push origin v4.0
Counting objects: 14, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (16/16), done.
Writing objects: 100% (18/18), 3.15 KiB | 0 bytes/s, done.
Total 18 (delta 4), reused 0 (delta 0)
To [email protected]:jcash/gitmanual.git
* [new tag] v4.0 -> v4.0
You can also use the --tags
option to add multiple tags at once with the git push origin
command:
您还可以使用--tags
选项通过git push origin
命令一次添加多个标签:
$ git push origin --tags
Counting objects: 1, done.
Writing objects: 100% (1/1), 160 bytes | 0 bytes/s, done.
Total 1 (delta 0), reused 0 (delta 0)
To [email protected]:jcash/gitmanual.git
* [new tag] v4.0 -> v4.0
* [new tag] v4.1-lw -> v4.1-lw
You can use git checkout
to checkout to a tag like you would normally do. But you need to keep in mind that this would result a detached HEAD state.
您可以git checkout
使用git checkout
签出到标签。 但是您需要记住,这将导致HEAD状态分离 。
$ git checkout v0.0.3
Note: checking out 'v0.0.3'.
You are in 'detached HEAD' state. You can look around, make experimental
changes and commit them, and you can discard any commits you make in this
state without impacting any branches by performing another checkout.
You may find a situation were you want to delete a certain tag. There’s a very useful command for this situations:
如果您要删除某个标签,可能会发现一种情况。 对于这种情况有一个非常有用的命令:
$ git tag --delete v0.0.2
$ git tag
v0.0.1
v0.0.3
v0.0.4
Git Pro - Tagging Basics
Git Pro-标记基础
Git Pro - Documentation
Git Pro-文档
Git HowTo
Git HowTo
Git tip: Tags
Git提示:标签
Creating a tag
创建标签
Git documentation: tags
Git文档: 标签
翻译自: https://www.freecodecamp.org/news/git-tag-explained-how-to-add-remove/
git 列出标签