it-swarm.com.de

Wie kann ich einen Entwicklungszweig ziehen?

Ich versuche, auf die Entwicklerversion von Views zu wechseln. Repository Anleitung hat funktioniert und ich konnte git clone Ansichten.

Auflisten der verfügbaren Zweige mit git branch -a zeigt nur * 7.x-3.x.

Der Versuch, einen "dev" -Zweig mit pull hinzuzufügen, gibt einen Fehler zurück:

$ git pull Origin 7.x-3.x
From http://git.drupal.org/project/views
 * branch            7.x-3.x    -> FETCH_HEAD
Already up-to-date.
$ git pull Origin 7.x-3.x-dev
fatal: Couldn't find remote ref 7.x-3.x-dev

Was mache ich falsch?

5
xtian

Wenn ich mache

git clone --recursive --branch 7.x-3.x http://git.drupal.org/project/views.git

und dann

git branch -r

Ich bekomme

Origin/4.6.x-1.x  
Origin/4.7.x-1.x  
Origin/5.x-1.x  
Origin/6.x-2.11-security  
Origin/6.x-2.x  
Origin/6.x-3.x  
Origin/7.x-3.x  
Origin/8.x-3.x  
Origin/HEAD -> Origin/7.x-3.x  
Origin/d7v3ui  
Origin/master  

Ich glaube, Sie brauchen die rekursive Flagge, um alle Fernbedienungen zu erhalten. Ich bin mir nicht sicher, ob Sie das getan haben, aber ein schneller Git-Abruf aktualisiert Ihre Fernbedienungsliste.

git pull Origin 7.x-3.x-dev
fatal: Couldn't find remote ref 7.x-3.x-dev
Unexpected end of command stream 

Ich denke, das liegt nur an den Namenskonventionen. Der aktuelle Entwickler ist HEAD afaik.

git pull Origin 7.x-3.x
From http://git.drupal.org/project/views
 * branch            7.x-3.x    -> FETCH_HEAD
Already up-to-date.

Ich glaube, dass jeder Zweig (kein Tag) für diese drupal Version) als 'dev' betrachtet werden kann.

Hoffe das hilft.

5
Christian

Ich bin kein Git-Experte, aber so wie ich es verstehe, werden alle auf der Projektseite aufgelisteten Releases des Dev-Zweigs direkt auf den 7.x-3.x-Zweig übertragen. Natürlich können Sie Ihre eigenen Zweige lokal für Ihre eigenen Bedürfnisse erstellen, aber der master-ähnliche Zweig, der alle auf drupal.org geposteten Releases enthält, wird immer dieser 7.x sein -3.x Zweig.

Wenn Sie zu einer der getaggten Versionen wechseln möchten, verwenden Sie git tag, Um eine Liste aller Versionen zu erhalten. Verwenden Sie dann 7.x-3.1, Um die Version git co 7.x-3.1 (Zum Beispiel) zu überprüfen.

Wenn Sie den Code für diese Version bearbeiten möchten, können Sie mit git checkout -b mycustombranch Einen neuen Zweig erstellen (wie Git erklärt).

6
Patrick Kenny

Die Möglichkeit, das Repository für den Zweig 7.x-3.x des Views-Moduls (dh den Entwicklungs-Snapshot 7.x-3.x-dev für das Views-Modul) zum ersten Mal von Drupal.org abzurufen, besteht darin, das auszuführen folgenden Befehl:

git pull git clone --recursive --branch 7.x-3.x http://git.drupal.org/project/views.git

Wenn Sie danach das lokale Repository für das Views-Modul auf dem neuesten Stand halten müssen, sollten Sie die folgenden Befehle ausführen:

cd views
git reset --hard
git pull Origin 7.x-3.x

Um es klar zu machen: Ein Drupal Entwicklungs-Snapshot wird aus einem Git-Zweig erstellt, während ein Drupal Release wird aus einem Git-Tag erstellt. Der Name des Git Zweig ist der Name des Drupal Entwicklungs-Snapshots ohne den -dev-Teil. In Ihrem Fall ist der Entwicklungs-Snapshot 7.x-3.x-dev und der Git-Zweig ist 7.x- 3.x.
Außerdem muss das Git-Tag, das zum Erstellen eines Drupal-Releases verwendet wird, einem bestimmten Schema folgen. Tags ähnlich 7.x-3.0 (oder 7.x-3.1-beta3) sind Für die 7.x-3-Version eines Moduls heißt der Entwicklungs-Snapshot 7.x-3.x-dev. Auf Drupal.org können Sie keine Drupal -Veröffentlichung von a Git-Tag ähnlich der Beta-Version oder ein Drupal Snapshot von einem Git-Zweig ähnlich dem Test-Zweig.

3
kiamlaluno

EDIT: Wie bereits erwähnt, lautete die Frage "Wie kann ich einen Entwicklungszweig ziehen?", Was teilweise in den anderen Antworten gezeigt wurde. Ein wichtiger zweiter Teil jeder Antwort muss jedoch eine Übersetzung der Namenskonvention Drupal -dev) enthalten. Einfach, weil sie nicht mit den Befehlen $git branch Oder $git tag während -dev in der Tabelle "Entwicklungsversionen" auf der Hauptseite eines Moduls deutlich zu erkennen ist. Dies ist mein Versuch, dies mit einer begründeten, aber keineswegs maßgeblichen Definition zu klären:

Es gibt einen Sinn - dev entspricht grobem Entwurf in der bekannten Metapher des Schreibens. In einem Artikel wird beschrieben, wie Sie "Ihren eigenen Git-Repository-Viewer" in einem lokalen Repository einrichten (für Entwickler, die es vorziehen, nicht in der Cloud zu hosten.

"Sie können entweder die neueste stabile Version oder die Master-Version auswählen. Beachten Sie jedoch, dass die Master-Version möglicherweise Fehler aufweist, da Entwickler aktiv daran arbeiten." PHPMaster

Jetzt haben wir eine endgültige Aussage, die eine Konvention für aktive Entwicklung für die "Master-Version" beschreibt. Und hier ist das Hauptproblem, an dem ich in diesem Beitrag gearbeitet habe: Beziehen einer Konvention (Entwicklerkonvention, Best Practice für die Programmierung oder The Drupal Way) auf den Betrieb und die Verwendung der Git-Anwendung.

Jetzt musst du einen Moment mit mir aushalten, während ich abschweife. In meiner Anfänger-Git-Ausbildung war ich mir nicht sicher, ob "Master" auch eine Namenskonvention von Entwicklern war oder in die Git-Anwendung selbst integriert war. Und hier habe ich mich einer Site-Suche auf der Website des Betreuers, git-scm.com, zugewandt, um dieses Juwel zu finden:

"Im Standardfall, der automatisch von einem git remote add - Befehl geschrieben wird, ruft Git alle Referenzen unter refs/Heads/auf dem Server ab und schreibt sie in refs/remotes/Origin/local. Wenn es also einen gibt Master-Zweig auf dem Server, können Sie lokal auf das Protokoll dieses Zweigs zugreifen ... " git-scm

wenn es einen Hauptzweig gibt? Das bedeutet nicht, dass "jedes" Git-Repository einen "Master" hat. Glücklicherweise wurde dieses Rätsel schnell gelöst, indem mein eigenes Test-Repository erstellt wurde. Eine anschließende Suche bei Stackoverflow bestätigt, dass dies technisch wahr ist. Ein neues Git-Repository ohne any Commits hat keinen Master Zweig:

"Der Grund, warum Sie auch nach dem Ausführen eines Git-Init keinen Master-Zweig haben würden, ist, dass es keine Commits gibt: Wenn Sie Ihren ersten Commit erstellen, haben Sie dann einen Master-Zweig." Stackoverflow: "fatal: Kein gültiger Objektname: 'master'"

Es ist ein seltsames Beispiel, das am Standort des Betreuers zu finden ist, wenn ein Remote-Repository ohne Commits hinzugefügt wird, aber im Land of Oz ist die Anpassung an den Grad nth ein bekannter Gefahrenfaktor.

Zurück zum hilfreichen Rat, den ich bis zu diesem Punkt erhalten habe. Kiamlaluno weist darauf hin,

"Ein Drupal Entwicklungs-Snapshot wird aus einem Git-Zweig erstellt, während ein Drupal Release wird aus einem Git-Tag erstellt." Anstelle eines Git-Tags versuchen Sie es mit einem Git-Zweig . "

Und doch werde ich immer noch nicht sagen, was ich sagen werde. Jetzt ist es endlich möglich, den Zweig -dev In Drupal als den "Entwicklungs-Snapshot" zu verstehen, der aus dem "Master" -Zweig des gehosteten Git-Zweigs erstellt wurde at Drupal.org. Die Verzweigungsbezeichnung -dev ist in der Ausgabe des Verzweigungsbefehls es sei denn, Sie legen sie selbst dort ab in Ihrem lokalen geklonten Repository nicht vorhanden. Dies habe ich kürzlich auch getestet, weil ich es nützlich fand, meinen aktuellen Arbeitsbrach anders als den gleichnamigen Remote-Master-Zweig zu kennzeichnen.

Ich habe mich für die Verwendung der Git-Versionen entschieden und mit Git meinen eigenen -dev - Zweig aus einigen Modulen erstellt, um die Interaktion von Views- und Draggableviews-Modulen zu beheben. Wie Kiamlaluno hervorhebt, sind die Dateien tar und gzip in der Tabelle "Development Releases" Schnappschüsse. Aus diesem Grund sind sie immer älter als der Hauptzweig.


In einem anderen merkwürdigen Ereignis finden Sie hier eine Definition des Schnappschusses von einer Wikipedia-Disambiguierungsseite.

Schnappschuss: "Eine Ansicht eines Quellcode-Repositorys wie zu einem bestimmten Zeitpunkt zum Zweck von Revisionskontrolle in der Softwareentwicklung." Wikipedia

Es ist ironisch, diese Definition für "Quellcode-Repository" nicht in einem Wiki-Artikel oder bei Wiktionary zu finden, sondern auf einer Disambiguierungsseite versteckt. Nicht ironisch, weil die Definition an einem entfernten Ort versteckt sein sollte, sondern an einen Druckbegriff Witwe erinnert, der eine eigene Wiki-Artikelseite und Wörterbucheintrag hat im Gegensatz zu Git's 'Master Branch' oder Drupals '-dev Branch' (zum Zeitpunkt dieses Schreibens).

2
xtian