git学习——tags、release、drop commit

最近一直都在持续学习git相关内容,越来越发现git是一个十分适合大型项目和团队协作进行开发的工具,掌握好了对于我们参与项目维护和开发产品帮助很大,所以要不断持续学习git。

tags & releases

tag的创建

当我们在git版本控制中遇到了一些里程碑的commit,例如当我们的产品主要功能开发完成,可以交付给客户的时候,我们就可以创建一个tag来作为一个大版本标记,我们就可以在以后的某个时刻,快速定位一个开发阶段,方便我们创建一个branch或者checkout。

例如下面这张图,我们就可以在pycharm中选择一个commit,然后创建一个tag进行标记。

但是需要注意的是,我们在ide中创建了tag后,在我们push到远程仓库的时候,ide并不会默认将你创建的tag推送到远程仓库。

所以我们就需要去在push的界面将这个tag push到远程仓库去。例如pycharm中:

然后我们就可以在GitHub中看到这个tag。此时就是我们创建release的时候了。

release的使用

刚刚说了tag一般是意味着我们的开发进程中具有一定成果或者里程碑的开发阶段,我们就很有可能将其作为一个发行版交付给用户,这时我们就需要创建一个release,表示是当前版本最终的发行版,是一个功能完整,逻辑清晰的状态,可供下载了。

此时我们就可以选择一个tag作为发行版,将其发布在我们的项目界面上。

在这个页面我们就可以选择一个被push到远程仓库的tag作为发行版,然后在下面可以写你的release notes,上传你的编译好的二进制文件方便用户下载。

创建完成后就可以在GitHub页面看到你的发行版了。

错误commit怎么办

在项目实际开发进程中,我们可能会遇到不小心错误的将更改commit,但是并未push到远程仓库,此时我们就可以使用一些方法修改我们上次的commit,将其drop掉。

不少ide都提供了这个后悔药,例如pycharm中

这里的drop commit就是表示我们可以将这个commit丢弃掉,我们的提交历史就像是从未有过这个commit一样,我们就可以保证我们的commit历史干净整洁,方便我们进行后期追踪和查看。

原理

相关推荐
uhakadotcom5 小时前
快速开始使用 n8n
后端·面试·github
uhakadotcom5 小时前
React与Next.js:基础知识及应用场景
前端·面试·github
咖啡教室7 小时前
日常开发中常用的git操作命令和使用技巧
git
uhakadotcom9 小时前
MQTT入门:轻量级物联网通信协议
后端·面试·github
云上艺旅9 小时前
K8S学习之基础七十四:部署在线书店bookinfo
学习·云原生·容器·kubernetes
你觉得2059 小时前
哈尔滨工业大学DeepSeek公开课:探索大模型原理、技术与应用从GPT到DeepSeek|附视频与讲义下载方法
大数据·人工智能·python·gpt·学习·机器学习·aigc
uhakadotcom10 小时前
阿里云STS:安全、灵活的临时访问管理
后端·面试·github
A旧城以西11 小时前
数据结构(JAVA)单向,双向链表
java·开发语言·数据结构·学习·链表·intellij-idea·idea
无所谓จุ๊บ11 小时前
VTK知识学习(50)- 交互与Widget(一)
学习·vtk
FAREWELL0007511 小时前
C#核心学习(七)面向对象--封装(6)C#中的拓展方法与运算符重载: 让代码更“聪明”的魔法
学习·c#·面向对象·运算符重载·oop·拓展方法