如何使用git中的标签来管理软件版本[重复]

2024-07-03

我们使用 git 来管理我们的项目,每个项目都有一个分支: 开发者 分期 生产

我想使用 git 标签来管理软件的版本。据我所知,我是否在分支上并添加了一些提交,然后我必须运行: git标签1.0

将 1.0 替换为我们最新的版本号,然后我可以使用以下命令推送标签: git推送起源1.0

我可以用以下命令更新分支: git push --标签

但现在如何重用标签呢?如果我向本地存储库提交更多代码并希望它轻松成为 1.0 版本?或者您只是添加一个新标签(例如 1.1)?

另外,如果我的同事在他的本地存储库上使用相同的标签名称,并且我们都推送该相同标签的代码,会发生什么情况?

最后,如果我们不小心推送代码而没有运行 git tag 来标记提交,会发生什么。

我不太明白标签是如何工作的,我认为它们会像你标记博客文章或其他东西一样工作 - 你可以使用相同的标签标记许多不同的提交并重用标签等。我猜有点像分支。


但现在如何重用标签呢?如果我向本地存储库提交更多代码并希望它轻松成为 1.0 版本?或者您只是添加一个新标签(例如 1.1)?

您可以使用以下命令删除标签git tag -d 1.0,然后在服务器上删除它git push origin :refs/tags/1.0.

但最佳实践是仅标记版本,然后在创建标记的位置为该版本创建维护分支。在该分支上,您推送修复程序,并在发布更新版本时使用 1.1、1.2 等标记。在将代码提供给客户后移动标签是不好的做法。

另外,如果我的同事在他的本地存储库上使用相同的标签名称,并且我们都推送该相同标签的代码,会发生什么情况?

我很确定你们中第二个推送标签的人会收到错误。自己尝试一下,看看会发生什么:

git checkout -b testbranch
git tag test1
git push origin tag test1
git tag -d test1
touch testfile
git add testfile
git commit -m "Added testfile"
git push origin testbranch
git tag test1
git push origin tag test1

最后,如果我们不小心推送代码而没有运行 git tag 来标记提交,会发生什么。

您应该在推送提交后推送标签。你不能同时做这两件事(git push --tags不推送提交,仅推送标签)。如果您先推送标签,则远程将具有悬空引用,直到您推送提交为止。所以你应该做

git push origin master
git push origin --tags

或类似的,具体取决于您的情况。

我不太明白标签是如何工作的,我认为它们会像你标记博客文章或其他东西一样工作 - 你可以使用相同的标签标记许多不同的提交并重用标签等。我猜有点像分支。

标签就像提交上的标签,因此您可以将某些提交标记为“特殊”。最常见的是,这用于标记版本,因此如果客户报告错误,您可以随时返回并准确查看该版本中的内容。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用git中的标签来管理软件版本[重复] 的相关文章

随机推荐

  • 我可以使 ListView 项目不可选择吗?

    我正在实现一个无尽的 ListView 就像在 Twitter 应用程序中一样 我想让最后一项不可选 因此 如果选择了倒数第二个项目并且我用轨迹球向下滚动 则不会发生任何事情 我尝试设置 android focusable false 和
  • Play-Framework 2.4.x 与 MongoDB 和 Java 8 一起使用

    我正在使用创建一个项目Play Framework 2 4 x MongoDB and Java 8 但与Play Framework没有好的 mongo 插件Java Play Framework提到了模块部分中的一些插件 如 Jongo
  • 使用 Avplayer 在后台播放视频

    在我的 iPhone 应用程序中 我想在应用程序进入后台模式时继续播放视频 我正在使用 AVPlayer 但没有找到任何在后台播放视频的方法 如果有人能在这方面帮助我 我将非常感激 谢谢 我可以惊讶地说这是可以实现的 而且我刚刚做到了 此方
  • pip 从私人 github 仓库安装wheel版本

    我已经将我的私人仓库打包成一个轮子 轮子有不同的版本 是否可以使用 pip 从命令行并通过 requests txt 文件安装特定的 Wheel 版本的存储库 此功能pip 文档中没有提到 https pip pypa io en late
  • 使用Javascript保存HTML文件的方法

    有没有办法使用 Javascript 将 HTML 文件保存在本地 例如 我想保存使用 mxGraph 库制作图表的 HTML 代码 有没有办法在本地保存此文件 例如使用调用 Javascript 函数的保存按钮来工作
  • 光栅到矢量:terra 包中的 WriteVector 导致致命错误

    我最近几天在 RStudio 上尝试过以下示例代码 library terra binar lt rast C Users BIC Desktop 21 binarisation SWIR tif poly rast lt as polyg
  • Rust mpsc::Sender 不能在线程之间共享?

    我认为通道的全部目的是在线程之间共享数据 我有这个代码 基于这个例子 http rustbyexample com std misc channels html let tx thread tx clone let ctx self thr
  • saveWidget 交互工作,但使用 buildVignette 时没有保存文件

    当我交互运行以下代码时 预期的结果testFig html已生产并正常运行 suppressPackageStartupMessages library plotly suppressPackageStartupMessages libra
  • 如何打开与 Python 2 和 Python 3 兼容的 Tkinter AskOpenFileName 对话框

    我正在尝试编写一个简单的 Python Tkinter 文件选择器 它与 Python2 7 和 Python3 x 兼容 Python3版本 from tkinter import Tk from tkinter filedialog i
  • 正则表达式 - 查找字谜和子字谜

    我有一个字符池 我想使用正则表达式来匹配这些字符或这些字符的子集的字谜词 示例 给定字符串 ACNE 正则表达式应该给出以下结果 痤疮 T 塞纳 T 不能 卡安 F 卡南 F 我已经尝试过这个解决方案 b acne 1 4 b但它接受单个字
  • 如何使用 RtdServer 在 C# 中创建实时 Excel 自动化插件?

    我的任务是使用 RtdServer 用 C 编写实时 Excel 自动化插件 我非常依赖在 Stack Overflow 中找到的知识 我决定通过写一份如何记录我所学到的知识来表达我的谢意 肯尼 科尔的Excel RTD 服务器 最少的 C
  • SQL Loader 脚本帮助添加 SYSDATE、USER

    我正在尝试从文件加载数据 并且想将 CREATED DATE 和 UPDATED DATE 设置为 SYSDATE 将 CREATE BY 和 UPDATED BY 设置为 USER 这是我正在使用的表 CREATE TABLE CATAL
  • 找不到名称“HammerManager”

    我在用 角 2 0 0 rc 5 angular2 材料2 0 0 alpha 7 4 Angular CLI 1 0 0 beta 11 webpack 2 当我尝试编译时 它会抛出错误 找不到名称 HammerManager 请参阅随附
  • 停止 HighCharts 在悬停时增加线条宽度

    我正在使用最新版本的 HighCharts 来构建具有多种趋势的图表 默认情况下 当用户鼠标悬停在线条上时 HighCharts 会增加线条的粗细 线宽 因为图表上可能有大约 10 个趋势 所以我想删除此功能 这意味着线条的粗细在悬停时不会
  • 如何调用 Documents.open 并避免出现“文件正在使用”对话框?

    我正在写一些非常简单的代码 https github com tobya DocTo打开 Word 文档 将其保存为新格式并关闭文档 但是 如果文档处于锁定状态并出现 文件正在使用 对话框 我会遇到问题 现在我很高兴自动选择选项 1 或 3
  • 如何验证数据框中依赖于该特定行中其他值的值?

    假设我有一个遵循以下格式的 csv 姓名 薪资 部门 必填 Rob 5500 航空 是 鲍勃 1000 设施 否 汤姆 6000 IT 是 将其导出到 pandas modin 后 我想执行行区分检查 其中 从事航空工作的名叫 Rob 的人
  • 在 Eclipse CDT 中重构 C++

    我已经安装了 Galileo 版本 Eclipse 3 5 CDT 5 1 希望能够利用中提到的更好的重构支持 Eclipse 中 C 重构支持的状态如何 https stackoverflow com questions 130913 w
  • 向 Angular 应用程序添加多个 HTTP 拦截器

    如何向 Angular 4 应用程序添加多个独立的 HTTP 拦截器 我尝试通过扩展来添加它们providers具有多个拦截器的数组 但真正执行的只有最后一个 Interceptor1被忽略 NgModule declarations im
  • 如何解释 TensorFlow 输出?

    如何解释 TensorFlow 输出以在 GPGPU 上构建和执行计算图 给定以下命令 该命令使用 python API 执行任意张量流脚本 python3 tensorflow test py gt 输出 第一部分stream execu
  • 如何使用git中的标签来管理软件版本[重复]

    这个问题在这里已经有答案了 我们使用 git 来管理我们的项目 每个项目都有一个分支 开发者 分期 生产 我想使用 git 标签来管理软件的版本 据我所知 我是否在分支上并添加了一些提交 然后我必须运行 git标签1 0 将 1 0 替换为