Sie können Git anweisen, alle Zweige wie folgt zu ziehen:
git config remote.origin.fetch "+refs/heads/*:refs/remotes/origin/*"
git fetch origin
Wenn Sie hineinschauen .git/config
, sieht es ungefähr so aus:
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
ignorecase = true
precomposeunicode = false
[remote "origin"]
url = https://github.com/owner/repo.git
fetch = +refs/heads/master:refs/remotes/origin/master
[branch "master"]
remote = origin
merge = refs/heads/master
rebase = true
Ich verglich dies mit einem vollständigen Klon und sah, dass der einzige Unterschied das "Abrufen" unter war [remote "origin"]
.
Hinweis: Ich verwende Git Version 1.8.2. Die Konfigurationsoptionen haben sich möglicherweise geändert, wenn Sie eine ältere Version von Git ausführen. Wenn meine Befehle nicht funktionieren, würde ich empfehlen, nachzuschauen, um .git/config
zu sehen, ob Sie etwas Ähnliches sehen können.
git
Befehlszeilentool ist unglaublich leistungsfähig (tatsächlich werden die meisten Befehle in Bezug auf andere Befehle implementiert), sodass Sie eine Menge Dinge damit tun können, sobald Sie verstanden haben, wie das Repository aufgebaut ist (im Grunde wie der.git
Ordner funktioniert) ).git show-ref tags
immer noch fehl.git clone --depth=1 --branch branchname [email protected]:foobar/repo.git destinationpath
Wenn Sie einen einzelnen Zweig hinzufügen möchten, haben Sie folgende Möglichkeiten:
Funktioniert mit Git Version 1.9.1
quelle
fetch =
.git / config mehrere Zeilen hinzu. Dies ist sehr praktisch, wenn Sie zwischen zwei Zweigen auf der Fernbedienung wechseln möchten, aber nicht eine ganze Reihe anderer Zweige abrufen möchten. Vielen Dank!Um meinem lokalen Repository, das mit geklont wurde
--single-branch
, einen weiteren Remote-Zweig hinzuzufügen , funktioniert Folgendes für mich:Sie können auch Platzhalter verwenden
[remote-branch]
, zDies funktioniert mit Git Version 2.21.1 . Andere Antworten, die
git fetch origin [remote-branch]:[local-branch]
dies vorschlugen, funktionierten nicht, da der lokale Zweig in einem nicht verfolgten Zustand erstellt wurde. Beim Ausführen wurdegit pull
zunächst versucht, alle Commits des Remote-Zweigs erneut mit meinem lokalen Zweig zusammenzuführen.quelle
Fügen Sie einfach das Original-Repo als neue Fernbedienung hinzu und arbeiten Sie dort ab?
Sie können sogar Ihre aktuelle 'Origin'-Fernbedienung löschen und' myNewOrigin 'in' Origin 'umbenennen, wenn Sie möchten.
Von dort aus können Sie ziehen / zusammenführen / neu starten.
quelle
Ändern
.git/config
Sie einfach die Datei Ihres lokalen Repos, Zeilefetch
von[remote origin] section
.Vor so etwas
Nachdem es so sein wird
quelle
Ich habe zunächst die Antwort von Dominik Pawlak angewendet und es hat funktioniert. Ich konnte jedoch keine weiteren Änderungen vornehmen, nachdem ich mehr Code in meinen neuen Zweig übernommen hatte.
Es gibt eine andere Möglichkeit zum
single-branch
vollständigen Zurücksetzen , die hier nicht erwähnt wurde:Dies setzt alles auf das Original zurück.
quelle
Für mich hat gearbeitet:
quelle