合并后从master中删除标记

时间:2017-10-24 09:38:29

标签: git git-branch git-merge git-tag

我们的发布分支TAG在合并错误的方向后进入了主人。我们不希望TAG成为主人。 如何从主服务器中删除TAG但保持其他文件提交完好无损?

release     master
|              |[time now]
|              |
|              |
|              |tag1(to remove)
|   >merge>    |
|              |
|tag1          |
|              |
|              |[time before]

1 个答案:

答案 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 - 描述使用最新标记可达的提交          从它