How to get rid of “would clobber existing tag”

有些话、适合烂在心里 提交于 2021-02-17 07:43:15

问题


I'm using git in VSCodium and each time I try to pull git is complaining.

Looking into the log I see

> 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

Doing the command with --force helps until the next time.

It's unclear to me what's going wrong here. What happened and how can I resolve this issue?

I mean: Besides trashing my local repo and cloning again.


回答1:


You should update your local tags with remote tags:

git fetch --tags -f

Then pull again.




回答2:


Since you say it's unclear what's going wrong, I assume you're not using that tag for anything and you just want to do your own work.

Turn off this setting:

Now you're all set.


Detailed explanation:

Tags are just references to specific commits (just like branch names). The main difference is that git (as far as I know) assumes tags will not change, where branches are expected to be updated.

So, the "error" is that you have in your local a tag called latest pointing to commit X - but the remote has a tag called latest pointing to commit Y. If you apply the change from the remote you will overwrite your local tag.

VSCode will pull all tags by default, thus you get the error.

There isn't anything wrong with having a "moving" tag like latest, that just isn't something VSCode takes into account (personal opinion).


Alternatively, you can avoid the issue by using the command line and manually entering the git pull command. Specifically, you need to omit --tags to skip this step of the process.

If you do this, your tags will not be updated - but I don't think is a concern here.



来源:https://stackoverflow.com/questions/58031165/how-to-get-rid-of-would-clobber-existing-tag

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!