Manchmal verwende ich die checkout -b
Option, um einen neuen Zweig zu erstellen, ihn gleichzeitig auszuchecken und die Verfolgung in einem Befehl einzurichten.
In einer neuen Umgebung wird folgende Fehlermeldung angezeigt:
$ git checkout -b test --track origin/master
fatal: Cannot update paths and switch to branch 'test' at the same time.
Did you intend to checkout 'origin/master' which can not be resolved as commit?
Warum mag Git es nicht? Dies funktionierte früher mit demselben Repo.
git
git-checkout
marekful
quelle
quelle
origin/master
es sich nicht um eine Festschreibungs-ID handelt, dh nicht um einen gültigen Remote-Zweig. Wird es in dergit branch -r
Ausgabe angezeigt?Antworten:
Seltsam: Sie müssen Ihre Fernbedienungen überprüfen:
Und stellen Sie sicher, dass
origin
abgerufen wird:Dann:
(um zu sehen, ob Sie einen
origin/master
Zweig abgerufen haben )Verwenden Sie schließlich
git switch
anstelle des verwirrendengit checkout
Git 2.23+ (August 2019).quelle
pull
und dann funktionierte dieser Befehl..git
Verzeichnis irgendwie beschädigt sein?git remote -v
sie in einem Git-Repo ausgeführt wird.FWIW: Wenn Ihr Filialname einen Tippfehler enthält, wird derselbe Fehler angezeigt.
quelle
git checkout -b origin mybranch
anstattgit checkout -b mybranch
(extraorigin
)orgin/my-branch
stattdessen auszucheckenorigin/my-branch
. Verpasstei
und ich kratzte mir eine Weile am Kopf, um zu verstehen, warum ein alter Verbündeter sich weigert, miteinander auszukommen. Tippfehler war in der Tat das Problem.Sie können diesen Fehler beispielsweise im Zusammenhang mit einem Travis-Build erhalten, mit dem standardmäßig Code ausgecheckt wird
git clone --depth=50 --branch=master
. Nach meinem besten Wissen können Sie--depth
über.travis.yml
aber nicht steuern--branch
. Da dies dazu führt, dass nur ein Zweig von der Fernbedienung verfolgt wird, müssen Sie die Fernbedienung unabhängig aktualisieren, um die Refs der gewünschten Fernbedienung zu verfolgen.Vor:
Die Reparatur:
Nach dem:
quelle
Diese einfache Sache hat bei mir funktioniert!
Wenn es heißt, dass es nicht zwei Dinge gleichzeitig tun kann, trennen Sie sie.
quelle
Sie können die folgenden Schritte ausführen, wenn Sie auf dieses Problem stoßen:
welches dies ausgibt:
Wie Sie sehen, wurde der neue Zweig von der Fernbedienung abgerufen.
3. Überprüfen Sie abschließend den Zweig mit diesem Befehl
Es ist nicht notwendig, Git explizit anzuweisen, den Zweig mit remote zu verfolgen (mit --track ).
Mit dem obigen Befehl wird der lokale Zweig so eingestellt, dass der entfernte Zweig vom Ursprung aus verfolgt wird.
quelle
Wenn Sie in Ihrer Filiale Leerzeichen haben, wird dieser Fehler angezeigt.
quelle
Für mich musste ich die Fernbedienung hinzufügen:
dann könnte ich holen
quelle
Dies führt dazu, dass Ihr lokaler Zweig den Remote-Zweig nicht verfolgt. Wie ssasi sagte, müssen Sie diese Befehle verwenden:
Ich habe mein Problem gerade gelöst ...
quelle
Zuerst müssen Sie
Fetch
die Fernbedienung (den spezifischen Zweig) verwenden, dann können Sie ein lokales br erstellen und es mit diesem Remote-Zweig mit Ihrem Befehlcheckout
verfolgen (dh mit -b und --track).quelle
Sie sollten das Submodul-Verzeichnis aufrufen und ausführen
git status
.Möglicherweise wurden viele Dateien gelöscht. Du darfst rennen
git reset .
git checkout .
git fetch -p
git rm --cached submodules
// Submoudles ist dein Namegit submoudle add ....
quelle
Sie können die folgenden Befehle verwenden: git remote update, git fetch, git checkout -b branch_nameA origin: branch_nameB
Ich denke, vielleicht liegt es daran, dass Ihre lokale Niederlassung die entfernte Niederlassung nicht verfolgen kann
quelle