2016-12-20 8 views
6

Ich bin neu bei Git Versionskontrolle und ich weiß nicht, wie man einen bestimmten Zweig eines Repo klonen/ziehen. Der Versuch, die Niederlassung master des Projekts zu erhalten, aber es standardmäßig test_1Cloning spezifischen Zweig

ich den Befehl git clone verwendet haben versucht, verzweigen, aber es packte Standard test_1. Ich habe auch versucht, andere Fragen zu lesen, aber die Befehle verwirren mich, und ich möchte nichts brechen.

Wie klonen ich den Master-Zweig dieses Projekts, damit ich Änderungen vornehmen und daran drücken kann?

+5

Mögliche Duplikate von [Wie klonen eine bestimmte Git-Zweig?] (http://stackoverflow.com/questions/1911109/how-to-clone-a-specific -Git-Zweig) – osowskit

+0

Ich sehe nicht, wie diese Antwort mit "Master" ist nicht das, was Sie suchen. http://StackOverflow.com/a/4568323/1375964 – osowskit

+0

@JeffP Sei höflich. Wenn die verknüpften Antworten Ihnen nicht helfen, geben Sie einfach warum an und geben Sie weitere Einzelheiten an. – jadhachem

Antwort

19

können Sie verwenden, um die folgenden Flags --single-branch & & --depth den spezifischen Zweig zum Herunterladen und die Menge der Geschichte zu begrenzen, die heruntergeladen werden.

Sie den Repo ab einem bestimmten Zeitpunkt und nur für den gegebenen Zweig

git clone -b <branch> --single-branch <url> --depth <number of commits> 

klonen - [no-] Single-Zweig


Clone nur die Geschichte, die zur Spitze eines einzelnen Zweiges, entweder spe führt cified durch die --branch Option oder die primäre Zweigstelle HEAD Punkte bei.

Weitere Abrufe in das resultierende Repository aktualisieren nur den Zweig remote-tracking für den Zweig, für den diese Option zum ersten Klonen verwendet wurde. Wenn der HEAD auf der Fernbedienung nicht auf einen Zweig zeigte, wenn der Klon --single-branch erstellt wurde, wird kein Remote-Tracking-Zweig erstellt.


--depth

erstellen flachen Klon mit einer Geschichte abgeschnitten der angegebene Anzahl von Commits

+0

Wüssten Sie, von welcher Git-Version diese Option verfügbar ist? –

+1

1.7.0 und höher.Mehr Details hier: https://git-scm.com/docs/git-clone/1.7.10 – CodeWizard

5

ich Sie nicht vollständig verstehen denken Wie git standardmäßig die gesamte Historie aller Zweige liefert.

git clone --branch master <URL> wird Ihnen geben, was Sie wollen.

Aber in der Tat, in einem der anderen Repos, wo Sie am Ende mit test_1 ausgecheckt haben, könnten Sie gerade git checkout master getan haben und es hätte Sie zum Master-Zweig geschaltet.

(Was @CodeWizard sagt, ist alles wahr, ich denke nur, es weiter fortgeschritten ist als das, was Sie wirklich brauchen.)

8

Sie diesen Befehl für bestimmten Zweig Klon verwenden:

git clone <url of repo> -b <branch name to be cloned> 

Eg: git clone https://www.github.com/Repo/FirstRepo -b master 
+3

'-b' spezifiziert nicht den zu klonenden Zweig, spezifiziert den Zweig zu Kasse nach dem Klon. – 1615903

+0

Nein, es klont den von Ihnen angegebenen Zweig, und wenn dieser Zweig nicht auf der Fernbedienung vorhanden ist, wird ein Fehler ausgegeben –

+0

Das ist einfach nicht wahr, siehe [Dokumentation] (https://git-scm.com/docs/git- Klon # Git-Klon - Bltnamegt). Das gesamte Repository wird geklont und danach wird der angegebene Zweig ausgecheckt. – 1615903

4

ein Git Repository hat mehrere Zweige.Jeder Zweig folgt einer Entwicklungslinie und hat seinen Ursprung in einem anderen Zweig (mit Ausnahme der ersten Verzweigung, typischerweise master, die als Standardzweig beginnt, bis sich jemand ändert, was fast nie passiert)

Wenn du neu bei Git bist, erinnere dich an diese 2 Grundlagen. Jetzt müssen Sie nur das Repository klonen, und es wird in einer Verzweigung sein. wenn der Zweig der ist, nach dem du suchst, super. Wenn nicht, müssen Sie nur zum anderen Zweig wechseln - dies wird als Checkout bezeichnet. Geben Sie einfach git checkout <branch-name>

In einigen Fällen möchten Sie Updates für eine bestimmte Branche erhalten. Tun Sie einfach git pull origin <branch-name> und es wird die neuen Commits (Änderungen) 'herunterladen'. Wenn Sie keine Änderungen vorgenommen haben, sollte es einfach gehen. Wenn Sie auch Änderungen an diesen Zweigen vorgenommen haben, können Konflikte auftreten. lassen Sie mich wissen, wenn Sie weitere Informationen zu diesem Fall auch benötigen