如何使用git正确使用GreaseMonkey脚本?

我正在为Firefox编写一个userscript,所以我使用GreaseMonkey。 此外,为了便于开发,我使用git来更新我的代码的不同版本。

现在,让我试着解释这个问题。

当我从我的本地git目录添加GreaseMonkey userscript时,我的Firefox配置文件的gm_scripts文件夹中将创建新文件。

GreaseMonkey使用这些文件作为源代码而不是我的git目录,所以如果我想修改我的代码并测试一些东西,我必须更改gm_scripts中的文件。 这意味着我不能提交修改,我首先必须将文件从gm_scripts复制到我的git目录。 这真的很不方便。

还有另一种解决方案。 我也可以从我的git目录修改脚本,然后使用指向这些本地文件的书签将其重新安装到GreaseMonkey。 但再一次,这根本不方便。

我想第三个是将gm_scripts内的文件夹定义为我的git目录。 不幸的是,我的项目包含了许多文件,我将它们放入文件夹中,而且我想保持清洁。 但是将一个userscript添加到GreaseMonkey可以使所有文件从其文件夹中提取出来。

萃取

而且,我的git项目不仅包含userscript文件夹,还有其他一些东西。 因此,将gm_script的目录声明为git的源代码可能不是一个好主意,将许多文件放在gm_scripts中,而与userscript无关的方法并不是一个好方法。 被迫在我的Firefox配置文件深处丢失的文件夹中工作是不对的。

我想知道是否有一种技术可以高效且轻松地在包括GreaseMonkey和git的项目上工作。


你可以链接必要的文件!

Windows(提升命令提示符): mklink <<gmfile>> <<gitfile>>

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

感谢Greasepot讨论小组的Enkidu对他的回应!


使用Windows和.bat文件,此代码用于将您git文件夹中的所有文件链接到Greasemonkey文件夹(如果路径中有空格或者其中两个文件具有相同名称,则可能会有错误)。

echo off

set git_dir=C:pathtoyourgitfolder
set gm_dir=C:pathtoyourgreasemonkeyuserscriptfolder

for /R %git_dir% %%G IN (*) do (
    echo Y | del %gm_dir%%%~nxG
    mklink %gm_dir%%%~nxG  %%G
)
链接地址: http://www.djcxy.com/p/85859.html

上一篇: How to correctly work on a GreaseMonkey userscript using git?

下一篇: Apply CSS if text exceeds a certain length