我正在处理Firefox的用户脚本,因此我使用了GreaseMonkey。此外,为了便于开发,我使用git来更新我的代码的不同版本。
现在,让我试着解释一下这个问题。
当我从我的本地git目录向GreaseMonkey添加用户脚本时,则会在我的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的项目上工作。
答案 0 :(得分:4)
您可以链接必要的文件!
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
)