我们的发布分支TAG在合并错误的方向后进入了主人。我们不希望TAG成为主人。 如何从主服务器中删除TAG但保持其他文件提交完好无损?
release master
| |[time now]
| |
| |
| |tag1(to remove)
| >merge> |
| |
|tag1 |
| |
| |[time before]
答案 0 :(得分:1)
我认为你对Git中的标签有错误的看法。分支和标签都是提交的简单指针。两者之间的区别在于,分支可以更改,标签不能,即分支是可写的,标签是只读的,所以说。
标签在任何分支上都不存在,因为它们像分支一样只是指针。为了更好地理解分支,请参阅Git Book中的简单图表:https://git-scm.com/book/en/v2/Git-Branching-Branches-in-a-Nutshell
当您创建标记时,我们将其称为v1.0
,它指向一个提交,让我们说ba70138
,即v1.0 --> ba70138
。这不会定义任何分支是否可以访问此提交。它是定义历史的提交之间的父子关系。只要您将发布分支合并到master
,它就会包含提交ba70138
,因此可以从v1.0
访问代码master
。
另见git describe
的文档:
git-describe - 描述使用最新标记可达的提交 从它