0


【Git】Git中 tag 与 branch 的关系与使用

个人主页:金鳞踏雨

个人简介:大家好,我是金鳞,一个初出茅庐的Java小白

目前状况:22届普通本科毕业生,几经波折了,现在任职于一家国内大型知名日化公司,从事Java开发工作

我的博客:这里是CSDN,是我学习技术,总结知识的地方。希望和各位大佬交流,共同进步 ~

在软件开发中,Git是一个版本控制系统,它使用 标签(tag)分支(branch)来管理代码的不同状态和版本。

Tag(标签)

什么是Tag(标签)?

标签是用于标记特定提交静态引用。它是一个有意义的名称,用于表示项目的里程碑、版本发布或重要的提交。标签是不可变的,一旦创建就不会随着新的提交而移动。

  • 标签可以是轻量标签(lightweight tag),只是一个指向特定提交的引用
  • 也可以是注释标签(annotated tag),它包含了额外的信息(如标签的作者、日期、注释等)

标签在代码库中起到固定特定提交的作用,方便用户快速访问。

Tag的应用场景

  1. 版本发布:标签经常用于版本发布。当软件达到一个重要的里程碑稳定的状态时,可以创建一个标签以表示该版本。例如,标签可以用于发布软件的正式版本号,如v1.0.0。
  2. 快照管理:标签可以用于创建代码库中特定提交的快照。这对于记录某个特定时间点的代码状态非常有用。团队成员可以根据标签来回溯历史代码状态,比如修复特定版本的错误或查找特定功能的实现。
  3. 版本回滚:如果在发布之后发现了重大问题,可以使用标签将代码库回滚到之前的某个版本,以恢复到稳定的状态。

Tag命令的使用

创建一个轻量标签

git tag <tagname>

创建一个带注释的标签

git tag -a <tagname> -m "Tag message"

列出所有标签

git tag

查看特定标签的详细信息

git show <tagname>

推送标签到远程仓库

git push origin <tagname>

推送所有标签到远程仓库

git push --tags

删除本地标签

git tag -d <tagname>

删除远程仓库的标签

git push origin --delete <tagname>

Branch(分支)

什么是Branch(分支)?

分支是代码开发过程中的不同线路或方向。每个分支都是从主分支(一般是master)派生出来的,开发者可以在分支上进行独立的工作,而不会影响主分支或其他分支。

分支可以用于开发新功能修复错误尝试实验性的更改。在一个分支上进行的更改不会立即影响其他分支,这使得团队成员可以同时进行多个并行开发任务。一旦开发工作完成,可以将分支合并回主分支或其他分支。

Branch的应用场景

  1. 并行开发:分支允许多个开发者同时在不同的分支上进行并行开发。每个分支可以独立地进行功能开发、错误修复等工作,而不会相互干扰。当一个功能开发完成后,可以将其合并到主分支或其他适当的分支中。
  2. 特性开发:为了实现一个新的功能,可以从主分支上创建一个新的分支,并在该分支上进行开发工作。这样可以保持主分支的稳定性,而在新分支上进行实验性的、尚未完成的工作。
  3. 修复错误:当发现代码库中的错误或缺陷时,可以在分支上修复它们,并将修复后的分支合并回主分支,以确保主分支的稳定性和质量。

Branch命令的使用

创建一个新分支

git branch <branchname>

切换到指定分支

git checkout <branchname>

创建一个新分支并切换到该分支

git checkout -b <branchname>

列出所有分支

git branch

合并指定分支到当前分支

git merge <branchname>

删除指定分支

git branch -d <branchname>

推送本地分支到远程仓库

git push origin <branchname>

删除远程仓库的分支

git push origin --delete <branchname>

如何取得指定的tag?

使用 git clone 整个仓库后使用,以下命令就可以取得该 tag 对应的代码。

git checkout tag_name 

但是,这时候 git 可能会提示你当前处于一个 **“detached HEAD" **状态。

因为 tag 相当于是一个快照,是不能更改它的代码!!!

如果要在 tag 代码的基础上做修改,你需要一个分支,可以使用命令:

git checkout -b branch_name tag_name

这样会从 tag 创建一个分支,然后就和普通的 git 操作一样了~~~

文章到这里就结束了,如果有什么疑问的地方,可以在评论区指出~

希望能和大佬们一起努力,诸君顶峰相见

再次感谢各位小伙伴儿们的支持!!!

标签: git branch tag

本文转载自: https://blog.csdn.net/weixin_43715214/article/details/131059079
版权归原作者 金鳞踏雨 所有, 如有侵权,请联系我们删除。

“【Git】Git中 tag 与 branch 的关系与使用”的评论:

还没有评论