Frage

    

Diese Frage bereits eine Antwort hier:

         

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?

War es hilfreich?

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.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top