我将Visual Studio 2019 Community Edition用于以Azure DevOps Git作为源控件的asp.net项目。在过去的一个月中,我一直在使用此源代码控件而没有任何问题。
但是今天,当我单击Team Explorer的Changes选项卡中的Commit and Push下拉按钮,然后在查看项目历史记录时,它显示了我刚刚进行的最新提交/推送的主标记,如图所示。下面的屏幕截图。
问题
为什么master标记突然出现在最新的commit / push中,这是什么意思?我没有为此提交/推送输入任何标签,但这是由Azure DevOps自动添加的。这样的主标记从不显示过去一个月中的任何先前提交。
我的项目中只有2个Git分支-本地分支origin/master
和远程分支origin/master
,如下面的屏幕截图所示。
答案 0 :(得分:1)
名为master
的标记没有任何意义。但是出于同样的原因,分支名称master
也没有任何含义。如果有一个含义,那么它就是您所想的。
对分支和标签使用相同名称是不明智的。 Git 可以很好地解决这个问题,但是人类会感到困惑。
轻量级标签没有其他信息,但是带注释的标签记录创建它们的人,与提交记录创建它们的人几乎相同。如果这是一个带注释的标签,请对其进行检查-git show refs/tags/master
将完成实例 1 的操作-然后询问创建该标签的人他们认为自己在做什么以及他们要使用的名字您可以使用它,然后重命名或删除标签。 (如果该人原来是你,请问自己为什么这么做。:-))
1 实际上,git show master
也是如此:某些Git命令(包括git show
)在这样的模棱两可时会“偏爱”标签。请注意,git checkout
实际上更喜欢分支。这就是人们感到困惑的原因:他们不知道master
是refs/heads/master
还是refs/tags/master
的意思。
答案 1 :(得分:1)
这不是标签。让您知道,这就是master分支当前指向的提交。
“历史记录”窗口中的工具栏上具有三个按钮,您可以在其中切换以查看本地分支,远程跟踪分支以及标记在相应提交上的标记。默认情况下,分支显示为红色,标签显示为绿色。将鼠标悬停在标签上还可以告诉您它是分支还是标签。在上面的示例中,我相信工具提示会显示“ Head for Branch Master”。
希望这会有所帮助。