2017-03-20 3 views
2

Ich arbeite derzeit an einem Projekt, bei dem ein vorhandenes Julia-Paket geändert wird.Verwenden von Julia-Paketen von einem Fork

Ich habe meine eigene Fork des Pakets auf github eingerichtet und fragte mich, ob es möglich ist, dies anstelle der Version auf dem Julia-Repository zu verwenden. Ich weiß, dass es möglich ist, Julia zu zwingen, eine spezifische Paketversion zu verwenden, die Pkg.pin() verwendet, aber ich bin nicht sicher, wie man es zwingt, meine Gabel zu verwenden.

Antwort

5

Pkg kann nicht mit verschiedenen Fernbedienungen umgehen, aber Git kann. Fügen Sie einfach Ihre Gabel als separate Fernbedienung in git hinzu und wechseln Sie die Zweige.

Beispiel. Standardmäßig fügt Pkg.add("MyPackage") das ursprüngliche Paket unter dem Remote origin mit seinem Master-Zweig als origin/master hinzu. Nehmen wir an, wir möchten die entfernte MyFork hinzufügen. Dann:

git remote add MyFork URL 

fügt dies hinzu. Jetzt können Sie

git checkout MyFork/mybranch 

Arbeit an, dass alle deine gitty Sachen, und dann gehen Sie zurück mit

git checkout origin/branch_on_origin 

Ich finde es ist viel einfacher, wenn GitKraken als gerade git zu verwenden. Es ist eine nette GUI, die mehrere Fernbedienungen gut behandelt. Github Desktop wird nicht mit mehreren Fernbedienungen gut umgehen.

+0

das hat viel geholfen danke! – Tom

+0

'Pkg' kann es mit' Pkg.clone' verarbeiten, aber ich würde sowieso mehrere Fernbedienungen für das Rebasieren usw. haben, also würde es wahrscheinlich immer noch das Hinzufügen von Fernbedienungen tun, auf die eine oder andere Weise. –

-1

Sie können auch direkt von der Gabel klonen:

Pkg.clone("https://www.github.com/youusername/yourrepo")

Möglicherweise müssen Sie zuerst mit Pkg.rm die aktuelle Version löschen.

+0

Ich rate dringend davon ab. @chrisrackauckas Ansatz ist stabiler und vermeidet Kurzschlüsse Pkg. –

Verwandte Themen