2017-10-08 2 views
0

Kürzlich klonte ich ein Repo von Remote auf eine neue Maschine. Die Fernbedienung hat 2 Zweige master & dev. Nach dem Klonen hat local nur die master Verzweigung der Gegenstelle, keine dev gefunden.Git: Wie man alle "entfernten" Zweige lokal erhält, indem man auf ihre jeweiligen `commits` wie auf der Fernbedienung zeigt?

Auf Remote hat dev mit master zusammengeführt und master ist wie 2 commits vor dev.

Lokal, wenn ich einen neuen Zweig des gleichen Namens erstellen dev, Punkte dev jetzt zu kippen (gleiche begehen) von master im Gegensatz zu entfernten wo dev wie 2 Commits hinter master ist.

Wie alle remote Zweige lokal, richtig auf ihre jeweiligen commits als auf Remote-Adresse.

Darüber hinaus aus Neugier, nur Auschecken der .git Verzeichnis und fand diese Zeile in config unter .git Verzeichnis.

Kann jemand erklären, was bedeutet die folgende Zeile fetch = +refs/heads/*:refs/remotes/origin/* in .git/config? Insbesondere die Rolle von Doppelpunkt : Separator.

dank dk

+0

Mögliche Duplikate von [Wie alle GIT-Zweige zu holen] (https://StackOverflow.com/Questions/10312521/How-To-Fetch-all-Git-Branches) – phd

Antwort

0

denke ich, alles, was Sie hier tun müssen, ist ein git holen:

git fetch origin 

Diese in allen entfernten Niederlassungen zu Ihrem lokalen Repository in Form von Fern Tracking-Zweig bringen werden. Dies sollte die entfernten master und dev Zweige enthalten. Beachten Sie, dass Ihr erster Klon diese Zweige bereits eingefügt haben sollte. Aber tun git fetch wird dev mit den neuesten Informationen aktualisieren und das ist eine vernünftige Sache zu tun.

Wenn Sie einen lokalen dev Zweig erstellen möchten, die die Fern ein Tracks, können Sie dies tun:

git checkout dev 

Dies wird eine neue lokale Niederlassung dev, die die Fern ein Tracks erstellen.

+0

auch ohne 'git fetch Herkunft', wenn ich laufe 'git checkout dev', sagt git' Switched to new branch 'dev'. Branch Dev eingerichtet, um Remote-Branch Dev vom Ursprung zu verfolgen. Also, was ist der Punkt/Vorteil von 'git fetch Herkunft '. Danke – dkjain

+1

@dkjain Der Klon, den du im Allgemeinen gemacht hast, hat vielleicht alle Fernzweige gefangen genommen oder nicht. Ein "Git fetch" garantiert, dass Sie lokal "dev" haben. –

Verwandte Themen