2015-06-13 32 views
7

मैं फ़ायरफ़ॉक्स के लिए उपयोगकर्तास्क्रिप्ट पर काम कर रहा हूं, इसलिए मैं GreaseMonkey का उपयोग करता हूं। इसके अलावा, विकास को सुविधाजनक बनाने के लिए, मैं अपने कोड के विभिन्न संस्करणों को अद्यतन करने के लिए git का उपयोग करता हूं।गिट का उपयोग कर GreaseMonkey उपयोगकर्तास्क्रिप्ट पर सही ढंग से कैसे काम करें?

अब, मुझे इस मुद्दे को समझाने की कोशिश करें।

जब मैं अपनी स्थानीय गिट निर्देशिका से ग्रीसमोन्की को उपयोगकर्तास्क्रिप्ट में जोड़ता हूं, तो मेरी फ़ायरफ़ॉक्स प्रोफ़ाइल के gm_scripts फ़ोल्डर में नई फ़ाइलें बनाई जाती हैं।

ग्रीसमोन्की इन फ़ाइलों को स्रोत के रूप में उपयोग करें, न कि मेरी गिट निर्देशिका, इसलिए यदि मैं अपना कोड संशोधित करना चाहता हूं और कुछ सामानों का परीक्षण करना चाहता हूं, तो मुझे gm_scripts के अंदर फ़ाइलों को बदलना होगा। इसका मतलब है कि मैं संशोधन नहीं कर सकता, मुझे सबसे पहले फ़ाइलों को gm_scripts से मेरी गिट निर्देशिका में कॉपी करना होगा। यह वास्तव में असुविधाजनक है।

एक और समाधान है। मैं अपनी गिट निर्देशिका से स्क्रिप्ट को भी संशोधित कर सकता हूं, और फिर इन स्थानीय फ़ाइलों को इंगित करने वाले बुकमार्क का उपयोग करके इसे GreaseMonkey पर पुनः इंस्टॉल कर सकता हूं। लेकिन एक बार फिर, यह बिल्कुल आसान नहीं है।

मैंने सोचा कि तीसरा जीएम_स्क्रिप्ट के अंदर फ़ोल्डर को मेरी गिट निर्देशिका के रूप में परिभाषित करना था। दुर्भाग्यवश, मेरी परियोजना में कई फाइलें हैं जिन्हें मैंने फ़ोल्डर्स में आदेश दिया है, और मैं इसे साफ रखना चाहता हूं। लेकिन GreaseMonkey को एक उपयोगकर्तास्क्रिप्ट जोड़ना सभी फ़ाइलों को उनके फ़ोल्डर से निकालने के लिए बनाता है।

extraction

इसके अलावा, मेरे Git परियोजना केवल userscript फ़ोल्डर नहीं शामिल करता है, कुछ अन्य सामान है। इसलिए शायद gm_script की निर्देशिका को गिट के स्रोत के रूप में घोषित करना एक अच्छा विचार नहीं है, gm_scripts में कई फाइलें डालें जबकि उनके पास उपयोगकर्तास्क्रिप्ट के साथ कुछ लेना देना अच्छा तरीका नहीं है। और मेरे फ़ायरफ़ॉक्स प्रोफाइल की गहराई में खोए गए फ़ोल्डर में काम करने के लिए मजबूर होना सही नहीं है।

मैं जानना चाहता हूं कि ग्रीसमोन्की और गिट दोनों सहित एक परियोजना पर कुशलतापूर्वक और आसानी से काम करने की तकनीक थी या नहीं।

उत्तर

4

आप आवश्यक फाइलों को लिंक कर सकते हैं!

विंडोज (Elevated Command Prompt):mklink <<gmfile>> <<gitfile>>

यूनिक्स/लिनक्स:ln -s <<gitfile>> <<gmfile>

उसकी प्रतिक्रिया के लिए Greasespot चर्चा समूह से एंकिडू लिए धन्यवाद!


Windows और एक .bat फ़ाइल का उपयोग करना, इस कोड को सभी फाइलों को आप से (यह त्रुटियों अगर वहाँ पथ में रिक्त स्थान हैं हो सकता है या अगर आपकी फ़ाइलों के दो Greasemonkey एक के लिए Git फ़ोल्डर से जोड़ने के लिए प्रयोग किया जाता है वही नाम)।

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

इसके लिए बहुत बहुत धन्यवाद। मुझे कुछ ऐसा करने की ज़रूरत थी, लेकिन लिनक्स पर। मेरे सेटअप में, बस बैश स्क्रिप्ट का उपयोग करके संपूर्ण 'gm_scripts' निर्देशिका को लिंक किया गया है। इस तरह मैं एक गिटहब रेपो के तहत पूरी निर्देशिका का प्रबंधन कर सकता था। Https://github.com/bgoodr/bgoodr-userscripts/blob/master/firefox/install_gm_scripts_dir_link.sh – bgoodr

+0

पर उसी रेपो में स्क्रिप्ट पाएं, विंडोज़ पर, यह एक कठिन लिंक होना चाहिए (उदा।'एमकेलिंक/एच <><>')। एक प्रतीकात्मक लिंक, जो डिफ़ॉल्ट है, लिंक स्रोत '<>' (यानी वास्तविक फ़ाइल गिट फ़ोल्डर में मौजूद है) पर्याप्त नहीं है। मैंने यह देखने के लिए जांच नहीं की कि क्या लिंक उलझन में है, जब लिंक लक्ष्य अन्यथा है, लिंक लक्ष्य को '<> '(यानी वास्तव में फ़ाइल * gm_scripts * में मौजूद है जिसमें गिट निर्देशिका में एक लिंक है), लेकिन उस दिशा के साथ एक कठिन लिंक की भी आवश्यकता हो सकती है। विंडोज पारदर्शी लिंक पारदर्शी रूप से नहीं करता है, लेकिन कड़ी लिंक काम करते हैं। Win10 x64 पर परीक्षण किया गया। – Makyen

संबंधित मुद्दे