Git 中分支和标签的区别
一、git中tag和branch的区别
在Git中,Tag(标签)和Branch(分支)是两种不同的概念,它们都用于管理版本控制,但在功能和用途上有一些区别。
1.Branch(分支):
分支是指项目中的一个独立的、可移动的指针,它指向一个特定的提交(commit)对象。在Git中,每个分支都可以代表项目的一个独立开发路径,允许开发者并行开发多个功能、修复bug或者进行其他工作;
分支可以用来创建新的特性、修复bug、实现实验性的功能等。可以在不影响主分支(通常是master或main)的情况下,在自己的分支上工作,并在完成后将变更合并到主分支中;
分支的创建、切换、合并和删除等操作都可以通过Git命令进行管理。
2.Tag(标签):
标签是指项目中某个特定版本的一个标记,用于标识项目的重要节点,例如发布版本或者里程碑。标签可以附加到任意的提交对象上,通常用于标记项目的稳定版本。
标签一般用于固定项目的某个特定版本,以便后续可以方便地回溯到该版本。与分支不同,标签是不可移动的,一旦创建,它就与特定的提交对象相关联,并且不能被修改。
标签可以用来发布软件版本、记录项目的重要事件或者用于其他类似的目的。它们通常用于公共发布或发布到生产环境中。
总而言之:
1.tag是一系列commit的中的一个点,只能查看,不能移动。branch是一系列串联的commit的线。
2.tag是静态的,branch是动态的,要向前走。
二、分支用法
#新增分支
git branch cat
#如果把cat分支改成tiger分支,使用的是-m参数:
git branch -m cat tiger
#查看当前分支
git branch
#删除分支 可以使用-d参数来删除
git branch -d dog
#tiger的内容还没有被合并,使用-d参数无法将其删除。这时只需改用-D参数即可将其强制删除
git branch -D tiger
#要切换分支,就是git checkout:
git checkout tiger
#使用git merge命令合并分支
git merge cat
#恢复已被删除的还没合并过的分支
git branch -D cat
Deleted branch cat (was b174a5a).
git branch new_cat b174a5a
还没有把刚刚删除的那个cat分支的SHA-1值记下来怎么办?查得到吗
可以用git reflog命令去查找,Reflog默认会保留30天,所以30天内还找得到。
三、标签用法
#给当前版本打标签
git tag v1.0
#给指定版本:eff6d31 打标签
git tag v2.0 eff6d31 -m '发布标签版本2.0'
#查看 v2.0 标签详细信息
git show v2.0
#删除 v1.0 标签
git tag -d v1.0
#将标签推送至远程仓库
git push origin v1.0
#将所有标签推送至远程仓库
git push origin --tags
#将本地标签删除并推送到远程仓库
git tag -d v1.0
git push origin :v1.0
四、参考资料
git中tag和branch的区别,下载最新代码是下载主分支还是最新的tag_git 下载代码压缩包 下载的是哪个分支-****博客
git的tag和branch有什么区别-git-PHP中文网
Git——分支详解_git 分支-****博客
推荐阅读
-
解析Linux驱动开发3中的devfs、udev、procfs、sysfs和debugfs的区别没有那么难
-
firewalld配置:详细教程解释Linux防火墙配置中的iptables和firewalld区别和用法
-
搞懂 LINQ 中 Where 和 TakeWhile 的区别
-
Java中获取当前日期和时间的多种方法:详解New Date与java.util.Date的区别
-
在Git中管理多个账号的登录和切换
-
快速入门:MySQL中的DATETIME、DATE和TIMESTAMP的区别与用法
-
HTML技巧:锚点定位和预格式化文本的使用" 1. 创建锚点链接以便快速定位目标内容 - 在需要被链接的目标位置添加相应id名 - 示例:<h3 id="two">第2集</h3> - 创建包含目标链接的超链接,只需在href属性中输入#后面跟着id名即可 - 示例:<a href="#two">点击这里跳转到第2集</a> 2. 预格式化文本:使用pre标签来保留原始格式 - pre标签可以用于显示源代码、数学公式等需要保持格式的内容 - 示例: <p> 这是一段预格式化后的文本, 可以看到这里的换行符、空格等都得到了保留。 </p> <pre> 这也是一段预格式化后的文本, 可以看到这里的换行符、空格等都得到了保留。 </pre>
-
理解 HTML 中的链接元素:a 标签、锚点、base 标签和伪链接标签
-
如何在 Git 中同时关联 GitHub 和 Coding 的仓库配置
-
在Spring MVC中,理解@Controller和@RequestMapper的作用与区别