7 个版本
0.1.6 | 2019年7月9日 |
---|---|
0.1.5 | 2019年7月9日 |
0.1.4 | 2019年4月17日 |
#2530 在 命令行工具
30KB
704 行
git-skel
git-skel 是一个用于持续应用骨架代码库的 git 子命令。
描述
骨架代码库是一个项目模板,包括目录、脚本、配置文件等。(您可以在 GitHub 中通过搜索 skeleton
找到许多骨架代码库。)
通常,骨架代码库在项目的初始阶段通过克隆仓库来使用。如果项目成长后骨架代码库更新了,应用更新的方式是谨慎地文件复制或 git cherry-pick
。这两种方法都不太容易。
git-skel 提供了一种简单的方式来应用更新。
平台
Linux/macOS/Windows
安装
下载二进制文件
从 发布页面 下载,并解压到 PATH 目录中。
Cargo
您可以通过 cargo 来安装。
cargo install git-skel
演示
用法
初始化
最初,您可以在任何 git 仓库中设置应用骨架代码库,如下所示
$ git skel init [URL]
git skel init
命令将 [URL]
克隆到临时目录,并将所有文件复制到当前仓库。该命令将 .gitskel.toml
放到当前仓库,以记录骨架代码库的路径和修订版本。您可以通过 git status
检查添加的文件,如果没有问题,则提交。
更新
如果骨架代码库已更新,您可以按以下方式应用更新
$ git skel update
git skel update
命令将保存在 .gitskel.toml
中的骨架仓库克隆到一个临时目录,并将所有文件复制到当前仓库。如果在 .gitskel.toml
中最新版本和保存版本之间存在已删除的文件,这些文件将被删除。如果将要被命令改变的文件已被修改但未提交,命令将被中止。
$ git skel update
Detect changes
!copy : aaa
Error: aborted bacause some files are not committed ( marked by ! )
If you will ignore it, use `--force` option.
您可以通过 git skel update --force
忽略此检查。
分支/标签
git skel branch
命令将跟踪并更新分支。
$ git skel branch [BRANCK NAME]
git skel tag
命令将跟踪并更新标签。
$ git skel tag [TAG NAME]
--force
选项可以与更新一样使用。
清理
git skel clean
命令将删除 .gitskel.toml
和从骨架仓库复制过来的所有文件。
$ git skel clean
--force
选项可以与更新一样使用。
.gitskelignore
您可以将 .gitskelignore
放在仓库根目录下。这与 .gitignore
的语法相同。任何与 .gitskelignore
匹配的文件都将被命令忽略。
.gitskelignore
可用于骨架仓库和项目仓库。例如,应将 README.md
添加到骨架仓库的 .gitskelignore
,因为 README.md
不应复制到项目仓库。如果存在因项目特定原因而修改的文件,则应将这些文件添加到项目仓库的 .gitskelignore
。
依赖
~19–32MB
~536K SLoC