【发布时间】:2015-01-04 17:39:49
【问题描述】:
如果有未提交的更改,我正在尝试查看是否有可能阻止 git 标记修订(或至少将其修改)?
我正试图证明我们的 prod relase 脚本是白痴。我们的生产发布脚本中有一行代码会在 git 中添加一个标签,该标签代表当前状态和我们将发布移动到的机器。然而,我们最近发生了一个事件,somone 从 git 中检查了一个版本,对暂存区域中的文件进行了手动修改。然后他运行我们的发布脚本,将文件复制到我们的产品系统,然后尝试在 git 中标记它。问题是,由于他进行了手动修改,git 标记的版本与真正发布的版本不匹配。
我们的正常工作流程是 1)在我们桌面上的本地存储库中进行更改 2)当准备发布时,我们创建一个标签 YYYY.MM.DD.VERSION 并将标签推送到原点。 3)在远程 unix 机器上,我们执行我们的发布,我们将执行以下操作: a) 在标签上运行 git checkout - YYYY.MM.DD.VERSION 2) 运行发布脚本,该脚本又会创建包含机器名称和版本的第二个标签 - 即 MACHINE_YYYY.MM.DD.VERSION。
当时的想法是,工作流将允许我们跟踪我们打算发布的特定版本是否与复制到我们的产品系统的内容相匹配。
今天我有人在暂存区签出一个版本,然后在运行发布脚本之前手动对其进行更改(我认为他们用旧版本的文件复制了它)。当他们运行发布脚本时,它会创建一个与最后提交的版本匹配的标签,而不是修改文件的状态
如果有未提交的更改,我不希望标记发生.. 我没有在 git 手册中看到我可以使用的意见
【问题讨论】:
-
如果我整个上午都在研究新东西,边做边提交,然后突然意识到我应该在十几个提交后添加一个标签怎么办?为什么我不能在不提交当前工作目录中的混乱情况的情况下添加标签?
标签: git