Neanderthals Programming Machines

    setgit-cli

    1.1.5 • Public • Published

    Maintainability Package Quality

    $ setgit

    多个项目的 Git 配置是一致的,频繁重复手动设置太麻烦了,😱;想一次应用多个配置规则到 Git 项目,🤔;全局 Git 配置不适用所有项目,不同项目有特定的 Git 配置需求 🥶…… 🥳setgit-cli 可以解决这些问题,多项目间复用 Git 配置规则,自动化设置 Git。🤤

    Image of Yaktocat

    安装

    # 使用 NPM
    $ npm i -g setgit-cli
    
    # 使用 Yarn
    $ yarn global add setgit-cli

    使用

    配置 Git。
    
    使用方式
      $ setgit [工作目录,默认:'process.cwd()']
    
    选项
      --version, -v                              查看版本号
      --help, -h                                 查看帮助
    
    示例
      $ setgit                                   为当前工作目录配置 Git
      $ setgit /usr/pro/api.name.io              为指定工作目录配置 Git
    
    提示
      检测到用户未提供自定义配置时,`setgit` 将会使用默认配置,详情参见
      https://github.com/iTonyYo/setgit-cli#配置。
    

    配置

    默认情况下,setgit-cli 会搜索以下文件中的 git 属性:

    • package.json 属性;
    • JSON 或者 YAML 等无后缀的 rc 文件;
    • 有后缀的 rc 文件,诸如:.json, .yaml, .yml, 或者 .js
    • .config.js CommonJS 模块;

    例如:

    • package.json 文件中的 git 属性
    • JSON 或者 YAML 格式的 .gitrc 文件
    • .gitrc.json 文件
    • .gitrc.yaml, .gitrc.yml, 或者 .gitrc.js 文件
    • 导出一个 JS 对象的 git.config.js 文件

    setgit-cli 从工作目录开始搜索配置,如果在根目录没有找到,会继续搜索子目录,直到找到有效的配置。

    默认的配置:

    {
      "core.ignorecase": "false",
    
      "alias.s": "status",
      "alias.p": "push",
      "alias.b": "branch -a -v",
      "alias.pl": "pull --ff-only",
      "alias.med": "merge develop",
      "alias.mem": "merge master",
      "alias.tags": "tag -l",
      "alias.co": "checkout",
      "alias.stashes": "stash list",
    
      "alias.l": "log -16 --color=always --all --topo-order --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative",
      "alias.ll": "log --color=always --all --topo-order --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit",
      "alias.lg": "log -10 --color=always --all --graph --topo-order --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit --date=relative",
      "alias.lgl": "log --color=always --all --graph --topo-order --pretty='%Cred%h%Creset -%C(yellow)%d%Creset %s %Cgreen(%cr) %C(bold blue)<%an>%Creset' --abbrev-commit",
      "alias.le": "!git log --oneline --color | emojify | less -r",
      "alias.out": "log @{u}..",
    
      "alias.wdiff": "diff --color-words",
      "alias.amend": "!git log -n 1 --pretty=tformat:%s%n%n%b | git commit -F - --amend",
      "alias.fixup": "commit --fixup=HEAD",
    
      "alias.ls": "ls-files",
      "alias.remotes": "remote -v",
    }
    

    贡献指南

    仔细查阅 CONTRIBUTING.md 以了解详情。

    证书

    setgit-cli 获得了 MIT 许可,仔细查阅 LICENSE.md 以了解详情。

    Install

    npm i setgit-cli

    DownloadsWeekly Downloads

    12

    Version

    1.1.5

    License

    MIT

    Unpacked Size

    13 kB

    Total Files

    4

    Last publish

    Collaborators

    • avatar