2016-08-02 33 views
5

Ich möchte Git verwenden, um die Entwicklung von my userscripts (21) zu erleichtern. Außerdem möchte ich, dass sie auch in GitHub gehostet werden. (mit Greasemonkey mit Firefox in Windows 10).Wie man meine greasemonkey Benutzer-Skripte mit Git verwalten (um sie in GitHub gehostet zu haben)

Also meine Frage ist: Was ist die vorgeschlagene Möglichkeit, meine Benutzer Skripte mit Git zu verwalten, um sie auch in GitHub gehostet?

  • halten einen separaten Ordner (zB c:\my_scripts die meine Repo-Ordner sein wird) Kopien meiner userscripts Dateien, mit
    dh jedes Mal, wenn ich eine meiner userscript Dateien ändern (in gm_scripts)
    Ich muss es manuell kopieren von gm_scripts\script_subfolder zu my_scripts?

  • haben alle meine Benutzer userscripts im gleichen separaten Ordner (mein Repo-Ordner),
    und verknüpfen sie mit dem gm_scripts Ordner (mklink -symbolic Links- in einer BAT-Datei), wie ich gelesen habe in this answer
    ?

  • erstellen Sie nur ein Repository mit meinem gm_scripts Inhalt?
    (innen gm_scripts, abgesehen von meinen 21 userscripts, habe ich viele anderen Skripte installiert habe, die ich in meiner .gitignore Datei enthalten müssen werden)
  • oder gibt es eine bessere Art und Weise, die ich verpassen?

ich die repos von zwei Autoren vieler Userscripts bemerkt haben: @Mottie und @jerone , die in GitHub ihren vielen userscripts gehostet haben, noch folgen sie verschiedene Ansätze:
Mottie's userscriptsalle in der Lage sind Stammordner des Repo (nur die JS-Dateien gibt es keine Unterordner), (screenshot)
während jerone's userscriptsjeweils in einem eigenen Unterordner im Repo befinden (screenshot).

Meine Vermutung ist, dass Mottie alle seine userscripts im gleichen separaten Ordner hat (das ist die Repo-Geschäfte), und hat sie verknüpfen zum gm_scripts Ordner
während Jerone entweder nur einen separaten Ordner als hält Repo, mit Kopien seiner Skripte,
oder seine Repo hat enthält den gm_scripts Ordner
(aber .gitignore Jerone die enthält keine Einträge für diese Dateien in gm_folder, die ignoriert werden sollen, wie .db, .wal, .shm, config.xml und dergleichen. Also, ich bin mir nicht sicher, ob das der Fall ist).

+1

Ich denke alle drei Lösungen klingen gültig. Ich glaube, dass die tatsächliche Lösung, die Sie verwenden, ganz Ihrer eigenen Meinung darüber entspricht, was besser für Sie funktioniert. –

+1

Ich habe meine Userscripte als Gist auf gist.github.com hochgeladen. Und dann klon ich jeden Gist einzeln, also habe ich eigentlich ein separates Git-Repository für jedes Benutzerskript, aber ich habe auch nicht den Overhead eines ganzen GitHub-Repositorys für jeden einzelnen. – poke

+0

@poke: Danke für einen anderen Weg. Es ist sehr praktisch. – darkred

Antwort

3

I (der Benutzer, wie oben @jerone bezeichnet) hat tatsächlich zwei Ordner, die ich synchron zu halten: Greasemonkey gm_scripts Ordner und abgemeldeten repo Ordner auf einem anderen Ort.

Die aktuelle Ordnerstruktur auf GitHub ist da, weil ich meine Skripte kurz vor Userscripts.org offline speichern wollte. Also kopiere ich einfach meine Skripte (mit Ordnern) aus dem Ordner gm_scripts. Auch weil ich einige @require s zuvor benutzt habe, behalte sie in ihrem entsprechenden Ordner.

Ich habe meinen Ordner gm_scripts nicht mit git verknüpft, weil ich Git-Verzweigungen für jedes Benutzer-Skript verwende. Der Grund, Filialen mit dem neuesten Master zu refinanzieren, ist ein Grund. Ein weiterer Grund ist, dass Sie nicht gleichzeitig an zwei Feature-Zweigen arbeiten können.

Wenn ich an einem Fix oder einer neuen Funktion arbeite, arbeite ich natürlich im Ordner gm_scripts. Wenn ich mit den Änderungen am Live-Benutzerkonto zufrieden bin, verwende ich WinMerge, um die Änderungen in meinen Checkout-Repo-Ordner zu synchronisieren, bevor ich die Änderungen festlege.

Die Datei .gitnore ist da, weil ich Visual Studio verwendet habe, um das Skript zu aktualisieren, aber ich habe vor langer Zeit zu Atom geändert.

+0

Vielen Dank, dass Sie ausführlich erklärt haben, wie Sie Git mit Ihren Benutzern verwenden. Ich habe meine Userskripte in github (in [this repo] (https://github.com/darkred/Userscripts)) nach Ihrem Weg geschrieben, und es ist in der Tat das praktischste. – darkred