2015-06-13 9 views
7

Pracuję nad skryptem użytkownika dla przeglądarki Firefox, więc używam GreaseMonkey. Ponadto, aby ułatwić rozwój, używam git do aktualizacji różnych wersji mojego kodu.Jak poprawnie pracować z Gitem dla użytkowników Grease?

Teraz, pozwól mi spróbować wyjaśnić problem.

Kiedy dodaję do GreaseMonkey usercript z mojego lokalnego katalogu git, wtedy nowe pliki są tworzone w folderze gm_scripts mojego profilu Firefoksa.

GreaseMonkey używaj tych plików jako źródła, a nie mojego katalogu git, więc jeśli chcę zmodyfikować mój kod i przetestować pewne rzeczy, muszę zmienić pliki wewnątrz gm_scripts. Oznacza to, że nie mogę zatwierdzić modyfikacji, najpierw muszę skopiować pliki z gm_scripts do mojego katalogu git. To naprawdę niewygodne.

Istnieje inne rozwiązanie. Mogę również zmodyfikować skrypt z mojego katalogu git, a następnie zainstalować go ponownie na GreaseMonkey za pomocą zakładki wskazującej na te pliki lokalne. Ale po raz kolejny nie jest to przydatne.

Co myślałem, że trzecie było zdefiniowanie folderu wewnątrz gm_scripts jako mój katalog git. Niestety, mój projekt zawiera wiele plików, które zamówiłem w folderach i chcę je zachować w czystości. Ale dodanie usercriptu do GreaseMonkey powoduje, że wszystkie pliki zostaną wyodrębnione z ich folderów.

extraction

Ponadto mój projekt git nie zawiera tylko folder userscript, istnieje kilka innych rzeczy. Więc prawdopodobnie nie jest dobrym pomysłem zadeklarowanie katalogu gm_script jako źródła dla git, umieszczenie wielu plików w plikach gm_scripts, podczas gdy nie mają nic wspólnego z usercriptiem, nie jest dobrą metodą. I nie należy zmuszać mnie do pracy w folderze zagubionym w głębi mojego profilu Firefoksa.

Chciałbym wiedzieć, czy istniała technika pozwalająca na wydajną i łatwą pracę nad projektem obejmującym zarówno GreaseMonkey, jak i Git.

Odpowiedz

4

Można połączyć potrzebne pliki!

Okna (Elevated Command Prompt):mklink <<gmfile>> <<gitfile>>

Unix/Linux:ln -s <<gitfile>> <<gmfile>

Dziękuję Enkidu z Greasespot grupy dyskusji na jego odpowiedź!


Korzystanie z systemu Windows oraz plik .bat, kod ten jest używany do połączenia wszystkich plików z was git folder do Greasemonkey jednego (może mieć błędy, jeśli istnieją przestrzenie w ścieżkach czy dwa pliki mają to samo imię).

echo off 

set git_dir=C:\path\to\your\git\folder 
set gm_dir=C:\path\to\your\greasemonkey\userscript\folder\ 

for /R %git_dir% %%G IN (*) do (
    echo Y | del %gm_dir%%%~nxG 
    mklink %gm_dir%%%~nxG %%G 
) 
+1

Dziękuję bardzo za to. Musiałem zrobić coś podobnego, ale w systemie Linux. W mojej instalacji po prostu połączyłem cały katalog 'gm_scripts' przy użyciu skryptu Bash. W ten sposób mógłbym zarządzać całym katalogiem w ramach repozytorium GitHub. Znajdź skrypt w tym samym repo na https://github.com/bgoodr/bgoodr-userscripts/blob/master/firefox/install_gm_scripts_dir_link.sh – bgoodr

+0

W systemie Windows musi to być twardy link (np.'mklink/H <><>'). Dowiązanie symboliczne, które jest domyślne, nie jest wystarczające, gdy źródłem odsyłacza jest "<>" (tzn. Faktyczny plik istnieje w folderze git). Nie sprawdziłem, czy git jest zdezorientowany, gdy link jest odwrotnie, z linkiem docelowym będącym '<> (tj. Plik faktycznie istniejący w * gm_scripts * z odnośnikiem do niego w katalogu git), ale w tym kierunku może być potrzebne również twarde łącze. System Windows nie tworzy przezroczystych dowiązań symbolicznych, ale działają łącza twarde. Testowany na Win10 x64. – Makyen

Powiązane problemy