git - 如何使用 Git 管理我的 greasemonkey 用户脚本(以便将它们托管在 GitHub 中)

标签 git github greasemonkey userscripts

我想使用 Git 以促进 my userscripts 的开发(21).另外,我也希望将它们托管在 GitHub 中。 (在 Windows 10 中使用 Greasemonkey 和 Firefox)

因此,我的问题是:使用 Git 管理我的用户脚本的建议方法是什么,以便将它们也托管在 GitHub 中?

  • 保留一个单独的文件夹(例如 c:\my_scripts,这将是我的 repo 文件夹)包含我的用户脚本文件的副本 ,
    即每次我更改我的用户脚本文件之一(位于 gm_scripts)
    我必须手动将它从 gm_scripts\script_subfolder 复制到 my_scripts 吗?

  • 将我所有的用户脚本放在同一个单独的文件夹(我的 repo 文件夹)中,
    并将它们链接到 gm_scripts 文件夹(在 .bat 文件中使用 mklink -符号链接(symbolic link)-),正如我在 this answer 中所读到的那样
    ?

  • 仅创建一个包含我的gm_scripts 内容的存储库
    (在 gm_scripts 中,除了我的 21 个用户脚本之外,我还安装了许多其他脚本,我必须将它们包含在我的 .gitignore 文件中)
  • 或者有什么我想念的更好的方法

我注意到许多用户脚本的两位作者的 repo :@Mottie 和@jerone 他们将许多用户脚本托管在 GitHub 上, 但他们遵循不同的方法:
Mottie's userscripts 都位于存储库的根文件夹中(只有 .js 文件,没有子文件夹),( screenshot )
同时jerone's userscripts位于 repo 中各自的子文件夹中 ( screenshot )。

我的猜测是 Mottie 将他所有的用户脚本都放在同一个单独的文件夹中(这是 repo),并将它们链接gm_scripts 文件夹,
而 jerone 要么只是保留一个单独的文件夹作为存储库,其中包含他的脚本副本,
或者他的 repo 包含 gm_scripts 文件夹
(但是,jerone 的 .gitignore 不包含 gm_folder 中应该忽略的那些文件的条目,例如 .db.wal .shmconfig.xml 等。所以,我不确定是否是这种情况)

最佳答案

我(上面的用户称为 @jerone)实际上有两个我保持同步的文件夹:GreaseMonkey gm_scripts 文件夹和 checkout repo不同位置的文件夹。

GitHub 上的当前文件夹结构在那里,因为我想在离线时备份我的脚本,就在 Userscripts.org 之前。所以我只是从 gm_scripts 文件夹中复制粘贴了我的脚本(带有文件夹)。也因为我之前用过一些@require,把它们放在对应的文件夹里。

我没有将我的 gm_scripts 文件夹链接到 git,因为每个用户脚本都使用 git 分支。使用最新的 master 重新设置分支的麻烦是原因之一。另一个原因是您不能同时在两个功能分支上工作。

在处理修复或新功能时,我当然会在 gm_scripts 文件夹中工作。当我对实时用户脚本更改感到满意时,我使用 WinMerge在提交更改之前将更改同步到我的 checkout repo 文件夹。

.gitnore 文件在那里,因为我使用 Visual Studio 更新脚本,但我已更改为 Atom很久以前。

关于git - 如何使用 Git 管理我的 greasemonkey 用户脚本(以便将它们托管在 GitHub 中),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38731278/

相关文章:

git - Go:如何向构建的二进制文件添加 git 修订版?

Git 总是在三台计算机中的一台上询问用户名和密码。其他两个不问。我如何找到原因?

javascript - Greasemonkey for IE 如何运行用户 javascript?

git - 让 git 跟踪自动生成的文件,但忽略 diff

git - Android Studio 3.3.1中Github命令 "Update Project"和 "Pull"的区别?

bash - 如何在 sublime text 3 中使用 git bash

git - 如何防止 phabricator 吃掉我的提交历史

git - 如何删除 Github 和本地的最后 n 次提交?

javascript - Greasemonkey 脚本中的间隔不等待

javascript - 如何从网页中抓取文本并为其设置 document.title ?