ab. Ich möchte den Quellcode aus dem master-next-Zweig Verwenden von git wie im Xilinx-Wiki beschrieben.

Ich habe Folgendes versucht:

#git clone git://github.com/Xilinx/u-boot-xlnx/tree/master-next.git Initialized empty Git repository in /home/Hannan/master-next/.git/ fatal: remote error: Xilinx/u-boot-xlnx/tree/master-next is not a valid repository name Email [email protected] for help 

Auch dies ist fehlgeschlagen:

# git clone git://github.com/Xilinx/tree/master-next/u-boot-xlnx.git Initialized empty Git repository in /home/Hannan/u-boot-xlnx/.git/ fatal: remote error: Xilinx/tree/master-next/u-boot-xlnx is not a valid repository name Email [email protected] for help 

Der Befehl lautet:

 git clone git://github.com/Xilinx/u-boot-xlnx.git 

Aber woher weiß ich, dass dies tatsächlich den master-next-Zweig und nicht den Hauptzweig ? Wie rufe ich einen bestimmten Zweig mit git korrekt ab?

Ich verwende RHEL 6, auf das über PuTTY zugegriffen wird.

Antwort

Wie die Fehlermeldung zeigt, erwartet git clone ein Git-Repository. Sie können den Namen eines Zweigs im Pfad wie folgt „nicht“ hinzufügen. Siehe Zweige in git .

Sie können a klonen einzelner Zweig (und es ist Geschichte): git clone <url> --branch <branch> --single-branch

Siehe git help clone.

Mit dem von Ihnen ausgeführten Klonbefehl haben Sie jedoch eine Kopie des gesamten Repositorys erhalten. Sie können die vorhandenen Zweige mit git branch und weitere Details dazu mit git show-branch.

Wechseln Sie mit git checkout branch-name zu dem gewünschten Zweig.

Die ersten Kapitel von Pro Git -Buch (online verfügbar) enthält weitere Informationen zu den grundlegenden Befehlen.

Kommentare

  • " Der von Ihnen ausgeführte Klonbefehl gab Ihnen eine Kopie des gesamten Repositorys ". Das gesamte Repository bedeutet, dass beide Zweige zusammengeführt wurden?
  • Nein, das sind sie nicht zusammengeführt. Ein Zweig in git ist keine Kopie des gesamten Verzeichnisses, wie hier erklärt .
  • Was ich getan habe, ist Folgendes: " Git-Klon -b Master-next github.com/Xilinx/u-boot-xlnx.git " ist das nicht korrekt?
  • Sie haben ' keinen Klon mehr benötigt. Der Befehl, den Sie in Ihrer Frage angezeigt haben, gab Ihnen das Repository mit allen Zweigen. Das ist aber auch richtig. ' entspricht git checkout master-next nach dem Klonen.

Antwort

Dieser Befehl sollte funktionieren:

$ git fetch origin [branch] 

Der obige Befehl ruft nur Metadaten aus dem Remote-Repository ab, nicht jedoch Quellen zusammenführen.

Wenn Sie die Quellen abrufen und zusammenführen möchten, lautet der Befehl:

$ git pull origin [branch] 

Seien Sie vorsichtig mit dem Zweig, in dem Sie führen den Zusammenführungsbefehl aus. Hier werden die Quellen zusammengeführt.

Kommentare

  • Ihre Antwort ist technisch korrekt, aber ich denke, sie könnte von einer grammatikalischen Überprüfung / erneuten Überprüfung profitieren Schreiben.
  • das funktioniert gut thx

Antwort

Git-Repositorys enthalten alle Zweige ( aber komprimiert und nur Unterschiede daher selten ein Größenproblem).

Daher können Sie das gesamte Projekt so klonen, wie Sie es erfolgreich gemacht haben. Dies ist eine Standardmethode zum Abrufen eines Repositorys, auch wenn Sie nur an einem Zweig interessiert sind.

Die .git-Struktur enthält dann alle alle Zweige, die in diesem Repository ausgeführt wurden.

Um einen bestimmten Zweig zu verwenden, führen Sie git checkout [branch_name] aus. Wenn der Zweig vorhanden ist, werden die Dateien lokal verfügbar gemacht (genau so die aktuellen Dateien in den Projektverzeichnissen).

git status zeigt dann an, welcher Zweig der aktuelle Zweig ist, zum Beispiel:

Laut Leiaz kann man einen bestimmten Zweig klonen. In der Praxis habe ich dies noch nie getan oder gesehen, wie andere es verwendet haben. Weitere Untersuchungen haben ergeben, dass es relativ neu ist und in git 1.7.10 (April 2012) hinzugefügt wurde: Option „git clone learn –single-branch“, um das Klonen einzuschränken zu einem einzelnen Zweig (Überraschung!); Tags, die nicht in den Verlauf des Zweigs verweisen, werden nicht abgerufen. Beispiel:

git clone -b master-next --single-branch git://github.com/Xilinx/ 

Bildbeschreibung hier eingeben Hier überprüfe ich für meine „Linker“ -Anwendung den Zweig v3.0.10

Kommentare

  • Ich ' habe es auch nie getan, ich erinnerte mich, die Option gesehen zu haben. Ich denke, es ist ' s, die selten als zusätzliche Zweige verwendet werden, sind " billig " groß.

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.