簡體   English   中英

如何使用git正確處理GreaseMonkey用戶腳本?

[英]How to correctly work on a GreaseMonkey userscript using git?

我正在開發Firefox的用戶腳本,所以我使用GreaseMonkey 而且,為了方便開發,我使用git來更新我的代碼的不同版本。

現在,讓我試着解釋一下這個問題。

當我從我的本地git目錄向GreaseMonkey添加userscript時,然后在我的Firefox配置文件的gm_scripts文件夾中創建新文件。

GreaseMonkey使用這些文件作為源而不是我的git目錄,所以如果我想修改我的代碼並測試一些東西,我必須更改gm_scripts中的文件。 這意味着我無法提交修改,我首先要將文件從gm_scripts復制到我的git目錄。 這真的很不方便。

還有另一種解決方案。 我也可以從我的git目錄修改腳本,然后使用指向這些本地文件的書簽將其重新安裝到GreaseMonkey。 但再一次,這根本不方便。

我認為第三個是將gm_scripts中的文件夾定義為我的git目錄。 不幸的是,我的項目包含許多文件,我訂購到文件夾中,我想保持它干凈。 但是向GreaseMonkey添加用戶腳本可以從其文件夾中提取所有文件。

萃取

而且,我的git項目不僅包含userscript文件夾,還有一些其他的東西。 因此,將gm_script的目錄聲明為git的源代碼可能不是一個好主意,將許多文件放在gm_scripts中,而它們與用戶腳本無關,這不是一個好方法。 並且被迫必須在我的Firefox配置文件深處丟失的文件夾中工作是不對的。

我想知道是否有一種技術可以高效,輕松地在包括GreaseMonkey和git在內的項目上工作。

你可以鏈接必要的文件!

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

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

感謝Greasespot討論小組的Enkidu回復!


使用Windows和.bat文件,此代碼用於將git文件夾中的所有文件鏈接到Greasemonkey文件(如果路徑中有空格或兩個文件具有相同名稱,則可能有錯誤)。

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
)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM