如何摆脱“会破坏现有标签”

时间:2019-09-20 15:20:32

标签: git

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

查看我看到的日志

> 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进行命令可以帮助您下​​次使用。

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

我的意思是:除了破坏我的本地仓库并再次克隆。

3 个答案:

答案 0 :(得分:7)

您应该使用远程标签更新本地标签

git fetch --tags -f

然后再次推送

答案 1 :(得分:3)

由于您说不清楚目前出了什么问题,所以我认为您没有对该标签使用任何东西,而只是想做自己的工作。

关闭此设置:

enter image description here

现在您已经准备就绪。


详细说明:

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

因此,“错误”是您在本地中有一个名为latest的标签,该标签指向提交X-但远程有一个名为latest的标签,其指向提交Y。如果应用从远程更改,您将覆盖本地标签。

VSCode默认情况下会拉出所有标签,因此会出现错误。

没有任何{em>错误带有latest这样的“移动”标签的东西,但这并不是VSCode所考虑的(个人观点)。


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

如果您执行此操作,则不会更新您的标签-但我认为这里并不重要。

答案 2 :(得分:0)

我在尝试运行 yarn install 时遇到了这个包的错误。接受的答案适用于当前的回购,对我不起作用,但这有效:

rm -rf **/node_modules && yarn cache clean

我之前尝试过只删除 node_modules,猜测是清理纱线缓存是什么。