npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

sp-doc-tree

v1.0.2

Published

for doc

Downloads

2

Readme

desk-clear

使用

npm i sp-doc-tree -g

spdoc init json地址

spdoc get 关键字

git 钩子

Git 钩子能在特定的重要动作发生时触发自定义脚本。你可以随心所欲地运用这些钩子。

有两组钩子

客户端: 提交和合并等操作所调用触发

服务端: 接收被推送的提交

安装钩子

Git 钩子被存储在 .git/hooks 。Git 默认会在这个目录中放置一些示例脚本。 这些脚本除了本身可以被调用外,它们还透露了被触发时所传入的参数。 任何正确命名(不带扩展名)的可执行脚本都可以正常使用,你可以用 Ruby 或 Python,或任何你熟悉的语言编写,这些示例的名字都是以 .sample 结尾,如果想启用,先移除这个后缀。

各个钩子介绍

提交过程

  • pre-commit:钩子在键入提交信息前运行。用于检查即将提交的快照,如果该钩子以非零值退出,Git 将放弃此次提交,可以用 git commit --no-verify 来绕过这个环节。

  • prepare-commit-msg:在启动提交信息编辑器之前,默认信息被创建之后运行。它允许你编辑提交者所看到的默认信息。该钩子接收一些选项:存有当前提交信息的文件的路径、提交类型和修补提交的提交的 SHA-1 校验。 它对一般的提交来说并没有什么用;然而对那些会自动产生默认信息的提交,如提交信息模板、合并提交、压缩提交和修订提交等非常实用。 你可以结合提交模板来使用它,动态地插入信息。

  • commit-msg:钩子接收一个参数,存有当前提交信息的临时文件的路径。 如果该钩子脚本以非零值退出,Git 将放弃提交,可以用来在提交通过前验证项目状态或提交信息。

  • post-commit:钩子在整个提交过程完成后运行,不接收任何参数,该钩子一般用于通知之类的事情。

邮件工作流

你可以给电子邮件工作流设置三个客户端钩子。 它们都是由 git am 命令调用的。

  • applypatch-msg:接收单个参数,包含请求合并信息的临时文件的名字。如果脚本返回非零值,Git 将放弃该补丁。

  • pre-applypatch:运行于应用补丁之后,产生提交之前,可以用它在提交前检查快照,运行测试或检查工作区。如测试未能通过,脚本会以非零值退出,中断 git am 的运行,补丁不会被提交。

  • post-applypatch:运行于提交产生之后,是在 git am 运行期间最后被调用的钩子。把结果通知给所拉取的补丁的作者。补丁会被提交。

其它客户端钩子

  • pre-rebase:钩子运行于变基之前,以非零值退出可以中止变基的过程。 你可以使用这个钩子来禁止对已经推送的提交变基。

  • post-rewrite:钩子被那些会替换提交记录的命令调用,比如 git commit --amend 和 git rebase(不过不包括 git filter-branch)。 它唯一的参数是触发重写的命令名,同时从标准输入中接受一系列重写的提交记录。 这个钩子的用途很大程度上跟 post-checkout 和 post-merge 差不多。

  • post-checkout:git checkout 成功运行后被调用。可以根据你的项目环境用它调整你的工作目录。 其中包括放入大的二进制文件、自动生成文档或进行其他类似这样的操作。

  • post-merge:git merge 成功运行后被调用。可以用它恢复 Git 无法跟踪的工作区数据,比如权限数据。 这个钩子也可以用来验证某些在 Git 控制之外的文件是否存在,这样你就能在工作区改变时,把这些文件复制进来。

  • pre-push: 钩子会在 git push 运行期间,更新了远程引用但尚未传送对象时被调用。 它接受远程分支的名字和位置作为参数,同时从标准输入中读取一系列待更新的引用。 你可以在推送开始之前,用它验证对引用的更新操作。