首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何摆脱“会打击现有标签”

如何摆脱“会打击现有标签”
EN

Stack Overflow用户
提问于 2019-09-20 15:20:32
回答 4查看 170.8K关注 0票数 489

我在VSCodium中使用git,每次我尝试拉git时都会抱怨。

看着我看到的原木

代码语言:javascript
运行
复制
> git pull --tags origin master
From https://github.com/MY/REPO
 * branch            master     -> FETCH_HEAD
 ! [rejected]        latest     -> latest  (would clobber existing tag)
   9428765..935da94  master     -> origin/master

在下一次使用--force执行命令会有所帮助。

我不清楚这里出了什么问题。发生了什么事,我如何解决这个问题?

我的意思是:除了破坏我当地的回购和克隆。

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2019-09-20 15:31:31

既然你说不清楚哪里出了问题,我想你不会在任何事情上使用那个标签,你只是想做你自己的工作。

关闭此设置:

或将此"git.pullTags": false添加到settings.json文件中

现在你们都准备好了。

详细说明:

标记只是对特定提交的引用(就像分支名称一样)。主要的区别是,git (据我所知)假定标记不会改变,在那里将更新分支。

因此,“错误”是在本地有一个名为latest的标记,它指向commit X,但是遥控器有一个名为latest的标记,指向提交Y。如果从远程应用更改,您将覆盖本地标记。

默认情况下,VSCode将提取所有标记,因此您将得到错误。

拥有像latest这样的“移动”标签没有什么错,这只是VSCode没有考虑到的东西(个人意见)。

或者,您可以通过使用命令行并手动输入git pull命令来避免此问题。具体来说,您需要省略--tags以跳过该过程的这一步骤。

如果您这样做,您的标签将不会被更新-但我不认为这是一个关注。

票数 148
EN

Stack Overflow用户

发布于 2019-10-17 17:55:00

您应该用远程标记更新本地标记:

代码语言:javascript
运行
复制
git fetch --tags -f

然后再拉一次。

原因

在remote上,有人删除一个标记并创建一个同名的新标记,然后在本地发生这种情况。

票数 1.1K
EN

Stack Overflow用户

发布于 2021-10-28 09:21:06

原因可能是您或其他贡献者删除了一个原始标记并重新创建了相同的标记。

解决办法:

代码语言:javascript
运行
复制
git fetch --tags -f

被迫刷新本地标记

当使用按钮更新编辑器中的代码时,默认情况下将首先使用git pull --tags origin master

因此,可以将此"git.pullTags": false添加到Vscode的配置文件settings.json中。

票数 43
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/58031165

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档