「既存のタグを壊してしまう」を取り除く方法


129

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すると、次回まで役立ちます。

ここで何が悪いのか私にはわかりません。何が起こり、どうすればこの問題を解決できますか?

つまり、ローカルリポジトリを破棄して、再度クローンを作成することに加えて。

回答:


330

ローカルタグをリモートタグで更新する必要があります。

git fetch --tags -f

その後、もう一度引っ張ります。


14
これは私のために働いた。VSCodeで問題が発生していたので、コマンドラインでこれを実行すると問題が修正されました。:)
Juan LuisFaylon20年

2
ありがとう、これについてもっと説明してもらえますか?これはまさに問題であったものを1時間コマンド、であるとどのようにこれは...それを解決しない
Sagiv BG

5
@ Sagivb.gリモートで、誰かがタグを削除して同じ名前の新しいタグを作成すると、これはローカルで発生します
TuanTran20年

41

何が問題なのかわからないとおっしゃっているので、そのタグを何にも使用しておらず、自分の仕事をしたいだけだと思います。

この設定をオフにします。

ここに画像の説明を入力してください

これですべての設定が完了しました。


詳細な説明:

タグは、特定のコミットへの単なる参照です(ブランチ名と同じように)。主な違いは、git(私が知る限り)ブランチが更新されると予想されるタグは変更されないと想定していることです。

したがって、「エラー」とは、ローカルlatestにコミットXを指すタグがありますが、リモートにはlatestコミットYを指すタグがあります。リモートから変更を適用すると、ローカルタグが上書きされます。

VSCodeはデフォルトですべてのタグをプルするため、エラーが発生します。

のような「移動」タグがあることには何の問題もありlatestません。それはVSCodeが考慮に入れているものではありません(個人的な意見)。


または、コマンドラインを使用して手動でコマンドを入力することにより、問題を回避できますgit pull。具体的に--tagsは、プロセスのこのステップをスキップするために省略する必要があります。

これを行うと、タグは更新されませんが、ここでは問題になるとは思いません。


どうもありがとう。VSCodiumを更新する必要がありましたが、その後は機能しました。ローカルタグを削除することもできると思いますか?
スキーブ

1
以下の私の答えを参照してください
TuanTran19年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.