Ich habe letzte Nacht viele Operationen auf meinem Computer durchgeführt, im Grunde Aktualisierung/Upgrade(?) von Brew, wodurch eine neue Git-Version installiert, Python aktualisiert, viele Sachen und heute dachte ich, ich könnte kein Repository mehr klonen.
git clone git@github.com:UnlyEd/serverless-plugin-dynamodb-backups.git
Cloning into 'serverless-plugin-dynamodb-backups'...
remote: Enumerating objects: 589, done.
remote: Total 589 (delta 0), reused 0 (delta 0), pack-reused 589
Receiving objects: 100% (589/589), 304.18 KiB | 862.00 KiB/s, done.
Resolving deltas: 100% (333/333), done.
fatal: multiple updates for ref 'refs/tags/v1.0.0' not allowed
Ich habe verschiedene Repos ausprobiert, ich bekomme jedes Mal den gleichen Fehler, also ist es meine Installation, die irgendwie kaputt ist.
Ich habe versucht, git (mit Brew) zu deinstallieren/neu zu installieren, aber es hat nichts geändert.
Ich habe andere Git-Befehle überprüft und kann immer noch ziehen/commiten
Ich verwende Git 2.21.0
Ich weiß nicht wirklich, was ich tun soll, um es zu beheben, und ich weiß nicht, was das verursacht hat. Außerdem verwende ich den Befehl git clone nicht täglich, sodass er vorher kaputt gegangen sein könnte, aber ich habe das Gefühl, dass er mit dem Upgrade von Homebrew zusammenhängt.
Hinzufügen weiterer Details basierend auf Kommentaren/Fragen:
type git
git is an alias for LANG=en_GB git
mkdir ~/gitclone && cd ~/gitclone && git clone git@github.com:UnlyEd/serverless-plugin-dynamodb-backups.git
Cloning into 'serverless-plugin-dynamodb-backups'...
remote: Enumerating objects: 589, done.
remote: Total 589 (delta 0), reused 0 (delta 0), pack-reused 589
Receiving objects: 100% (589/589), 304.18 KiB | 828.00 KiB/s, done.
Resolving deltas: 100% (333/333), done.
fatal: multiple updates for ref 'refs/tags/v1.0.0' not allowed
Haben Sie eine benutzerdefinierte .gitconfig? Ich musste den folgenden Parameter aus meinem entfernen, damit das Klonen wieder funktioniert:
[remote "origin"]
fetch = +refs/heads/*:refs/remotes/origin/*
git v2.21.0
wurde vor ein paar Tagen veröffentlicht, also hat sich vielleicht etwas unter der Haube geändert. Ich muss mir die Release Notes ansehen.
Wie auch immer, hoffe das hilft!
Diese Zeile, die etwas mehr Hintergrundkontext hinzufügt, war sehr häufig, um die Tags standardmäßig abzurufen. Erlaubt, git fetch
das würde auch ein git fetch --tags
Äquivalent unter der Haube machen.
git fetch
Wenn Sie Tags abrufen möchten, wenn Sie mit dieser Git-Version v2.21 arbeiten , können Sie .gitconfig
im Grunde wie folgt einen Alias in Ihrem erstellen:
[alias]
fetch = git fetch --tags
Wenn Sie dies tun und entfernen, fetch = +refs/heads/*:refs/remotes/origin/*
wird das gleiche Verhalten erzielt, ist jedoch mit git v2.21 kompatibel
Siehe https://stackoverflow.com/questions/1204190/does-git-fetch-tags-include-git-fetch/20608181#20608181 für ausführliche Erläuterungen und Verlaufsänderungen.
remote "origin"
tun sollte, ich hatte sie, weil ein Kollege sie vor Jahren benutzte, und ich behielt sie, weil warum nicht. Vielleicht eine gute Übung mit der alten Git-Binärdatei, würde aber gerne wissen, wofür sie ist und ob ich sie durch etwas anderes ersetzen sollte;)git fetch
ohne dies manuell tun zu müssen git fetch --tags
, siehe stackoverflow.com/questions/16678072/…fetch
erlaubt .git fetch --tags
keine aktualisierten Tags abgerufen werden. Ich kenne keinen guten Weg, um diesen Fehler beim Klonen nicht zu erhalten und aktualisierte Tags abzurufen.Ich bin mir nicht sicher, ob dies hier das Problem ist, aber haben Sie überprüft, ob der Ordner, in den Sie klonen möchten, leer ist? Überprüfen Sie auch, ob der Ordner, in den Sie zu klonen versuchen, bereits von einem anderen Git-Repository verwaltet wird.
Sie können überprüfen, ob es sich um ein Git-Repository handelt, indem Sie Folgendes tun git status
und sehen, dass es so sein sollte fatal: not a git repository (or any of the parent directories): .git
.
git clone git@github.com:UnlyEd/serverless-plugin-dynamodb-backups.git
, der kein Verzeichnis angibt, erstellt standardmäßig eines. Und es ist durchaus möglich, ein Git-Repo aus einem anderen Git-Repo heraus zu klonen :)
kein Hang
Vadoranfrage
git
das Kommando sagen. Scheint, als ob das Problem auch nicht mit einem bestimmten Ordner zusammenhängt, sondern systemweit.