2017-05-04 8 views
1

Ich habe ein privates Repository in Git und es ist mir gelungen, es mit dem Komponisten richtig als Paket arbeiten zu lassen. Es gibt jedoch eine Sache, die ich nicht mag: Wenn ich die Version des Repository angeben, muss ich dev-master sagen, um den Master-Zweig zu erhalten. Stattdessen möchte ich eine Repository-Version angeben können. Also, wie konfiguriere ich mein Repository, um den anderen Repositories, die es verwenden, eine Abhängigkeit mit einer Versionskennung zu ermöglichen?Richtiges Versionieren eines privaten Composer-Repositorys

Dies ist composer.json mein Paket, das in meiner einzigen master Niederlassung befindet:

{ 
    "name": "username/packagename", 
    "type": "mytype", 
    "version": "1.0.0" 
} 

Und dann in einem anderen Projekt, wo ich dieses Paket einschließen mag Ich habe diese composer.json:

Wie Sie sehen können, muss ich 'dev-master' sagen, um mein Paket von meinem Master-Zweig zu bekommen, aber ich möchte '1.0.0' oder '^ 1.0.0' oder irgendeinen anderen Composer-Versionierungsvorgang sagen können verfügbar. Was muss ich in meiner Paketstruktur tun, um ein korrektes Versionierungsverhalten zu ermöglichen?

Vielen Dank im Voraus!

Antwort

1

Erstellen Sie ein Tag, und davor: entfernen, dass version Eintrag in der composer.json Datei.

Usage Beispiel ein Tag auf dem Master-Zweig für die Erstellung von:

git checkout master 
git tag -a 1.0.0 
git push --follow-tags 

kommentierten Tags verwenden das Datum und die Benutzernamen notieren den Tag zu schaffen. Git wird nach einer Nachricht fragen, die für die meisten Leute eher irrelevant ist, so dass Sie alles eintragen können, was Sie möchten. Normalerweise entscheide ich mich dafür, den Tag-Namen zu wiederholen.

Das Entfernen des version Eintrags vor dem Markieren einer Version sollte offensichtlich sein. :)

+0

Hallo Sven, danke für deine Hilfe, könntest du mir ein einfaches Anwendungsbeispiel geben? –

+0

Aktualisiert meine Antwort. – Sven

+0

Schön, vielen Dank Sven, ich habe es funktioniert! Jetzt habe ich eine Version "^ 1.0.0" angegeben und es funktioniert gut, ich hoffe es funktioniert auch, nachdem ich eine neue Version hinzugefügt habe :) Nur eine Anmerkung: Wahrscheinlich meintest du 'git tag -a v1.0.0' stattdessen? Weil ich ein Versions-Tag ohne v in der Front hinzugefügt habe und es nicht von Composer identifiziert wurde. –

Verwandte Themen