Frage Wie klont man einen bestimmten Git-Zweig? [Duplikat]


Diese Frage hat hier bereits eine Antwort:

Git-Klon verhält sich beim Kopieren des entfernten aktuellen Arbeitszweiges in lokal.

Gibt es eine Möglichkeit, einen bestimmten Zweig selbst zu klonen, ohne die Zweige im Remote-Repository zu wechseln?


2088
2017-12-15 23:06


Ursprung


Antworten:


Bitte beachten Sie auch die andere Antwort was viele Leute bevorzugen.

Sie können auch sicherstellen, dass Sie den Unterschied verstehen, im Gegensatz zu den meisten wütenden Kommentatoren und Downvotern. Und der Unterschied ist: durch Aufruf git clone -b branch url du holst dich alle die Zweige und einen auschecken. Das kann zum Beispiel bedeuten, dass Ihr Repository eine 5kB Dokumentation oder einen Wiki Zweig und einen 5GB Daten Zweig hat. Und wann immer Sie Ihre Startseite bearbeiten möchten, können Sie 5 GB Daten klonen.

Auch das soll nicht heißen git clone -b ist nicht der Weg, um das zu erreichen, es ist nur, dass es nicht ist immer was Sie erreichen möchten, wenn Sie nach dem Klonen eines bestimmten Zweigs fragen.

Die Antwort, die ich heute schreiben würde, wäre der heutige Tag

git clone --single-branch -b branch host:/dir.git

Zu der Zeit, als ich die ursprüngliche Antwort unten schrieb, hatte Git keine --single-branch Option, aber bewahren wir es zur vollen Zufriedenheit der wütenden Bienen.

Die Antwort, die von Copypastern so sehr abgelehnt wurde, war diese:

git init
git remote add -t refspec remotename host:/dir.git
git fetch

230
2017-12-15 23:09



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, hinzufügen --single-branch um das Holen aller Zweige zu verhindern. Beispiel, mit OpenCV 2.4-Zweig:

git clone -b opencv-2.4 --single-branch https://github.com/Itseez/opencv.git

6660
2017-12-31 05:36



Um einen Zweig zu klonen ohne andere Zweige holen:

mkdir $BRANCH
cd $BRANCH
git init
git remote add -t $BRANCH -f origin $REMOTE_REPO
git checkout $BRANCH

222
2017-09-08 14:34



Hier ist eine wirklich einfache Möglichkeit :)

Klonen Sie das Repository

git clone <repository_url>

Listen Sie alle Zweige auf

git branch -a 

Überprüfen Sie den gewünschten Zweig

git checkout <name_of_branch>

204
2017-07-14 09:42



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

Um einen neuen Zweig zu erstellen, der auf meinem enum-account-number-Zweig basiert, mache ich:

git checkout -b enum-account-number origin/enum-account-number

Nachdem du auf "Return" geklickt hast passiert Folgendes:

Branch enum-account-number set up to track remote branch refs/remotes/origin/enum-account-number.
Switched to a new branch "enum-account-number

"


68
2017-11-15 19:34



Erstellen Sie eine Verzweigung auf dem lokalen System mit diesem Namen. z.B. Sagen Sie, dass Sie den Zweig benennen möchten "Zweig-05142011"

git branch branch-05142011 origin/branch-05142011 

Es gibt Ihnen eine Nachricht wie - "Zweigstelle-05142011 eingerichtet, um Remote-Zweigstelle-05142011 vom Ursprung zu verfolgen."

Jetzt kassiere einfach die Filiale wie unten und du hast den Code -
git checkout branch-05142011


20
2018-05-15 19:20



git --branch <branchname> <url>

Aber bash completion bekommt diesen Schlüssel nicht: --branch

Genießen.


11
2017-09-07 10:16