Ich benutze Git in VSCodium und jedes Mal, wenn ich versuche, Git zu ziehen, beschwere ich mich.
Ich schaue in das Protokoll, das ich sehe
> 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
Das Ausführen des Befehls mit --force
hilft bis zum nächsten Mal.
Mir ist unklar, was hier falsch läuft. Was ist passiert und wie kann ich dieses Problem beheben?
Ich meine: Abgesehen davon, dass ich mein lokales Repo weggeworfen und wieder geklont habe.
git pull --tags -f
gleich.Da Sie sagen, es sei unklar, was falsch läuft, gehe ich davon aus, dass Sie dieses Tag für nichts verwenden und nur Ihre eigene Arbeit machen möchten.
Deaktivieren Sie diese Einstellung:
Jetzt sind Sie fertig.
Ausführliche Erklärung:
Tags sind nur Verweise auf bestimmte Commits (genau wie Zweignamen). Der Hauptunterschied besteht darin, dass
git
(soweit ich weiß) davon ausgegangen wird, dass sich die Tags nicht ändern, wenn die Verzweigungen voraussichtlich aktualisiert werden.Der "Fehler" besteht also darin, dass Sie in Ihrem lokalen Verzeichnis ein Tag mit dem Namen "
latest
Zeigen auf Commit X" haben. Die Fernbedienung verfügt jedoch über ein Tag mit dem Namen "latest
Zeigen auf Commit Y". Wenn Sie die Änderung von der Fernbedienung aus anwenden, überschreiben Sie Ihr lokales Tag.VSCode zieht standardmäßig alle Tags, daher wird der Fehler angezeigt.
Es ist nichts Falsches daran , ein "bewegliches" Tag zu haben
latest
, das VSCode einfach nicht berücksichtigt (persönliche Meinung).Alternativ können Sie das Problem vermeiden, indem Sie die Befehlszeile verwenden und den
git pull
Befehl manuell eingeben . Insbesondere müssen Sie weglassen--tags
, um diesen Schritt des Prozesses zu überspringen.Wenn Sie dies tun, werden Ihre Tags nicht aktualisiert - aber ich denke, das ist hier kein Problem.
quelle