Git 专题:开发过程 Git 的真正用法——标签 tag

前言

项目很久没有用git管理,主要是忘了怎么用哈哈哈。。创建项目后搭建了git仓库就没有其他动作了。这一次复习并运用,同时分享给大家!

正文

tag标签(版本号)

什么是tag(标签)

        tag 可以认为是一个快照,也可以认为是一个标记,之后无论你文件如何修改,都能够通过命令指定回滚到这个tag。可以想象成给你的童年拍一张照,然后你出去打拼十年发现处处不顺利,就可以穿越时空回到这张照片记录的这一刻,相当于重开哈哈哈。当然这是无稽之谈,人生落子无悔。。

项目开发中怎么用

创建新标签,创建新标签默认打在最近一次的 commit

git tag <tag-name> //创建【轻量级】标签

 或者

git tag -a <newTag-name> -m "注释" //创建附注标签:-m 后面是附注信息

用途

当后期项目整改出现无力更改的错误,可以直接跳到想要跳到的某次提交,直接指定标签即可:

git checkout <tag-name>

拓展

拓展:签出标签要注意什么?

问题:当你要对某个标签下的提交状态进行修改并提交,就可能会导致丢失修改

解决方法:

执行此命令后,Git 会将 HEAD 指向该标签,使你的代码回滚到标签所指向的提交状态。

这种回滚方式是以分离头指针(detached HEAD)的形式进行的,如果直接进行修改并提交,可能会导致丢失修改,因此建议在新的分支上进行工作。

如果你想在一个新分支上回滚到标签,并继续在该分支上进行工作,可以使用以下两个命令:

git checkout -b <newBranch-name> <tag-name>

这将创建一个名为 <newBranch-name> 新的分支,并将其切换到指定标签所指向的提交状态。这样你就可以在新分支下工作,而不会影响原有的分支。

拓展:如何给已提交的状态打上标签?

问题:当你想起昨天的提交忘记打上标签,如何进行补救?

解决方法:

首先查看当前分支的提交历史,并找到要打上标签的提交的哈希值(commit hash):

git log

//或者

git log --oneline

 PS:git log 命令会展示所有commit详情,而 git log --oneline 命令则展示较为洁简的commit信息

接着在指定commit上创建标签即可 !

git tag <newTag-name> <commmit-hash>

//或者

git tag -a <newTag-name> <commit-hash> -m "附注"

拓展:错误的创建了一个 tag,并推送到远程,如何处理?

问题:当你错误的创建了一个tag并推送到远程,应该如何删除远程tag和本地tag?

解决方法

首先是确保标签存在,并获取<tag-name>:

git tag

然后根据<tag-name>删除指定本地标签:

git tag -d <tag-name>

 接着是删除远程标签,有两种方式:

git push origin :refs/tags/<tag-name>

或者

git push origin --delete <tag-name>

首先确保远程仓库上存在标签

git ls-remote --tags <remote-name>  //remote-name是远程仓库的名称,通常是origin

然后输入命令执行删除即可。如下

这样,删除后本地和远程仓库就没有这个标签存在了 !

下期预告:《Git 专题:开发过程中Git的真正用法 —— 分支 branch》

猜你喜欢

转载自blog.csdn.net/Ccc67ol/article/details/132476457
今日推荐