2个版本
0.1.3 | 2023年9月14日 |
---|---|
0.1.2 | 2023年9月14日 |
1285 在 开发工具
每月 21 次下载
110KB
2K SLoC
gitnr
一个跨平台的命令行工具,用于使用模板创建.gitignore
文件。
# Create an ignore file for Rust with CLion IDE
gitnr create gh:Rust tt:clion+all
# Interactively search and select templates
gitnr search
目录
安装 & 更新
Linux & Mac
在您的终端中运行以下任何命令以获取gitnr
的最新版本。
全局安装
curl -s https://raw.githubusercontent.com/reemus-dev/gitnr/main/scripts/install.sh | sudo bash -s
为当前用户安装
curl -s https://raw.githubusercontent.com/reemus-dev/gitnr/main/scripts/install.sh | bash -s -- -u
在Linux上默认为$HOME/.local/bin
,在macOS上为$HOME/bin
。如果目录不存在或不在系统路径中,脚本将失败。
在特定目录中安装
curl -s https://raw.githubusercontent.com/reemus-dev/gitnr/main/scripts/install.sh | bash -s -- -d <dir>
Windows
在PowerShell终端中运行以下命令以安装gitnr
的最新版本。
Set-ExecutionPolicy Unrestricted -Scope Process; iex (iwr "https://raw.githubusercontent.com/reemus-dev/gitnr/main/scripts/install.ps1").Content
二进制下载
查看发布页面以下载二进制文件,然后将其添加到系统路径中的目录。
从源代码
git clone --depth=1 github.com/reemus-dev/gitnr
cd gitnr
cargo install --path .
注意:这要求您在系统上已安装Rust和cargo。
用法
有3个命令可用
命令 | 描述 |
---|---|
create |
创建一个.gitignore文件,并将其内容打印到stdout 或保存到文件中 |
search |
交互式模式,用于从GitHub和TopTal集合中搜索和选择模板。然后,您可以将其复制到剪贴板或将相关的create 命令复制到生成忽略文件的命令 |
help |
显示带有可用标志和命令的CLI帮助消息 |
创建
创建命令接受一个模板列表,以生成一个.gitignore
文件。
gitnr create [FLAGS] [TEMPLATES]...
创建模板参数
可以将模板作为以下形式提供给命令行界面:
- 空格分隔或逗号分隔的值
- 带或不带它们的源前缀
以下模板源可用:
模板源 | 前缀 |
---|---|
URL | url: |
文件 | file: |
GitHub(任何公共仓库中的文件) | repo: |
GitHub模板 | gh: |
GitHub社区模板 | ghc: |
GitHub全局模板 | ghg: |
TopTal模板 | tt: |
例如
# With prefix
gitnr create gh:Node
# Without prefix
gitnr create Node
# Combining templates - a project using Node.js + Vue in WebStorm
gitnr create gh:Node ghc:JavaScript/Vue tt:webstorm+all
# Using a remote URL and local file
gitnr create url:https://domain.com/template.gitignore file:path/to/local.template.gitignore
# Using a file from a GitHub repo
gitnr create repo:github/gitignore/main/Rust.gitignore
如果您没有前缀模板,CLI将尝试自动检测模板源。如果它无法将模板名称与源匹配,则默认检查GitHub模板集合。建议明确指定源前缀,以避免任何歧义。
来自GitHub和TopTal集合的模板不需要具有.gitignore
、.stack
或.patch
后缀。这意味着您可以使用gh:Rust
而不是gh:Rust.gitignore
,或者使用tt:webstorm+all
而不是tt:webstorm+all.patch
。
生成的模板将按提供的模板参数的顺序创建。
[注意] TopTal模板集合包括
stacks
和patches
。Stack指定多个组合的忽略模板,例如Angular.stack
。Patch扩展对GitHub集合中的原始模板进行修改。
创建标志
默认情况下,生成的.gitignore模板将打印到stdout
。您可以使用可用的CLI标志自定义此行为
标志 | 短 | 描述 |
---|---|---|
--save |
-s |
将模板写入当前目录中的.gitignore文件(覆盖任何现有文件) |
--file<path> |
-f<path> |
将模板写入指定的文件路径,覆盖任何现有文件 |
--refresh | -r | 刷新模板缓存(默认情况下,模板缓存1小时) |
搜索
搜索命令允许您交互式浏览、筛选和选择GitHub和Toptal集合中的模板。
gitnr search
这在您想查看可用的内容并预览不同的模板组合时很有用。您将能够预览单个模板,也能预览模板组合。
搜索命令只有一个标志,即--refresh | -r
。这允许您刷新模板缓存,默认情况下模板集合缓存1小时。这是为了避免达到API速率限制。
为什么存在这个功能?
- 我想为所有项目模板化我的.gitignore文件,以保持一致性。
- 我想从多个模板构建.gitignore,以保持模块化
- 我想用Rust构建一些东西并学习这门语言
- 显然,我想在简单的侧项目中浪费比我想的更多的时间 😅
贡献
提出建议时,请提交PR或创建问题。鉴于这是我第一个Rust应用程序,经验丰富的开发者可能会发现很多可以改进、重构或删除的地方。因此,请随时提交PR或问题提出任何建议。
通过学习我在 https://reemus.dev 的编程挣扎来提高你的软件开发技能
依赖项
~12–23MB
~369K SLoC