Wie klonen ich einen bestimmten Git-Zweigs? [Duplikat]
-
19-09-2019 - |
Frage
Diese Frage bereits eine Antwort hier:
- Wie klonen ich eine einzige Niederlassung in Git? 15 Antworten
Git-Klon verhalten Fern aktuellen Arbeitszweig in lokale kopieren.
Gibt es eine Möglichkeit, einen bestimmten Zweig von mir zu klonen, ohne Zweig auf der Remote-Repository zu wechseln?
Lösung
git clone --single-branch --branch <branchname> <remote-repo>
Die --single-branch
Option ist gültig ab Version 1.7.10 und später.
Bitte beachten Sie auch die andere Antwort , die viele Menschen bevorzugen.
Sie können auch machen wollen, verstehen Sie sicher, dass Sie den Unterschied. Und der Unterschied ist: durch git clone --branch <branchname> url
Aufruf Sie sind fetching alle die Zweige und ein Check-out. Das kann zum Beispiel bedeuten, dass Ihr Repository eine 5kB Dokumentation oder Wiki-Zweig und 5GB Datenzweig hat. Und wenn Sie Ihre Titelseite bearbeiten möchten, können Sie am Ende des Klonen 5 GB Daten.
Auch die nicht zu sagen git clone --branch
ist nicht der Weg, das zu erreichen, es ist nur, dass es nicht immer , was Sie erreichen wollen, wenn Sie fragen, über einen bestimmten Zweig klonen.
Zu der Zeit unter der ursprünglichen Antwort zu schreiben, git keine --single-branch
Option hatte, aber sie bewahren sie für volle Zufriedenheit wütender Bienen.
Die Antwort so schlecht von copypasters nicht mochte, war dies:
git init
git remote add -t refspec remotename host:/dir.git
git fetch
Andere Tipps
git clone -b <branch> <remote_repo>
Beispiel:
git clone -b my-branch git@github.com:user/myproject.git
Mit Git 1.7.10 und später Add --single-branch
verhindern allen Zweigen zu holen. Beispiel mit OpenCV 2.4 Zweig:
git clone -b opencv-2.4 --single-branch https://github.com/Itseez/opencv.git
Hier ist eine wirklich einfache Möglichkeit, es zu tun:)
Clone das Repository
git clone <repository_url>
Liste Alle Branchen
git branch -a
Zur Kasse der Filiale, die Sie wollen
git checkout <name_of_branch>
Eine Verzweigung klonen ohne Abrufen von anderen Zweigen:
mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH
git checkout -b <branch-name> <origin/branch_name>
zum Beispiel in meinem Fall:
git branch -a
* master
origin/HEAD
origin/enum-account-number
origin/master
origin/rel_table_play
origin/sugarfield_customer_number_show_c
So eine Niederlassung zu schaffen, basierend auf meine Enum-Konto-Nummer Zweig ich tun:
git checkout -b enum-account-number origin/enum-account-number
Nachdem Sie die folgenden treffen Rückkehr geschieht:
Branch enum-account-number set up to track remote branch refs/remotes/origin/enum-account-number.
Switched to a new branch "enum-account-number
"
Erstellen Sie eine Niederlassung auf dem lokalen System mit diesem Namen. z.B. sagen Sie den Zweig namens "branch-05142011"
werden wollen git branch branch-05142011 origin/branch-05142011
Es wird geben Sie eine Meldung wie - „Filiale Zweig-05142011 einrichten Fern Zweig Zweig-05142011 vom Ursprung verfolgen“
Jetzt Kasse nur den Zweig wie unten, und Sie haben den Code -
git checkout branch-05142011
git --branch <branchname> <url>
Aber bash Abschluss diesen Schlüssel nicht bekommen: --branch
Genießen.