Socket
Socket
Sign inDemoInstall

@wulechuan/cli-scripts--git-push

Package Overview
Dependencies
7
Maintainers
1
Versions
47
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    @wulechuan/cli-scripts--git-push

此为吴乐川的《管理【集得】源的辅助性命令行工具集》。 本工具集目前提供了若干可配置的内部工具, 以辅助任何 npm 项目构建适用其环境的命令行实用工具。 而构建出的这些实用工具可一次性将该 npm 项目之代码上推至多个集得源。 本工具集亦随附了这些实用工具的雏形,稍加修改即可运转,颇为方便。 本工具集安装伊始, 其内建的 JavaScript 程序会自动为这些实用工具设计配套的 VSCode 任务, 遂更为方便。 需注意, 本套工具之主体均并非采用 JavaScript 语言族编写, 而是采用


Version published
Weekly downloads
0
decreased by-100%
Maintainers
1
Created
Weekly downloads
 

Readme

Source

吴乐川的管理【集得】源的辅助性命令行工具集

中国人——特别是汉族人,理应坚持广泛、规范地使用汉语。凡非必要之情形不说外国话、不用外国字。此乃天经地义!然则每当必要,亦不排斥采用外国之语言。不妨 博世界之学问,养中国之精神

本人亦支持少数民族坚持采用自己民族的传统语言。仍须强调,凡中国人,皆应会用汉语、积极使用汉语,此乃中华各民族之大一统之必由。

NPM 页

NPM 包名

@wulechuan/cli-scripts--git-push

作者

南昌吴乐川

源代码仓库

提供仓库服务之组织仓库组织之国别仓库地址
码云中华人民共和国https://gitee.com/nanchang-wulechuan/wulechuan--cli-scripts--git-push.git
阿里云之代码仓库中华人民共和国https://code.aliyun.com/wulechuan/wulechuan--cli-scripts--git-push.git
GitHubhttps://github.com/wulechuan/wulechuan--cli-scripts--git-push.git

简介

言简意赅版

本工具集之主体是一些处于雏形状态的命令行工具,有【PowerShell】和【类 Bash】两类。我们对这些雏形稍加修改,它们即可如期运转。它们的功用是一次性将某 npm 项目之代码上推至多个集得源。

特别的,本工具集安装伊始,其内建的 JavaScript 程序会还自动为上述命令行工具逐一设计配套的 VSCode 任务,这为 VSCode 用户提供了方便。

冗长版

由来

我们的研发项目,其代码库常常采用【集得】(外国话 Git)来管理项目的代码等文件。并且,这样的集得仓库往往要同时对标多个【集得源】(外国话是 Remote)。

例如典型的,本人的许多项目会同时连接 码云阿里云的代码库阿里云的 CodeUp 代码库美国微软公司的 GitHub 等。

既然我们计算机上的某个集得项目对标着多个集得源,那么我们日常【上推】(外国话是 push)代码时,理应将本机代码上推到所有集得源上去。这一任务略显繁琐。为化繁为简,我们不妨编写一个命令行工具来简化日常的【上推】操作。

特点与价值

对熟悉集得命令行用法的人而言,这样(成批上推代码)的脚本再简单不过了。一个源一行命令即可做到,总共也要不了几行命令。 例如:

# Bash 或 PowerShell

git  push  码云
git  push  阿里云1
git  push  阿里云2
git  push  美国GitHub

其实本工具集的早期雏形就是这样的简易脚本。

但当上述多个命令顺次执行时,它们的输出既不够美观,也不可一目了然。于我这种吹毛求疵的人而言,此种“简约之美”往往是不可接受的。为使命令行工具的界面信息美观、易读,也为了便于我和“潜在的合作者”交流或交接,我在日常研学中时不时会在“无关痛痒”的美观方面下功夫,逐渐形成了一些辅助性工具,汇集于此。如你所猜想的一般,本工具集侧重为命令行之输出信息做装点,提供相对美观、易读的界面信息,而鲜少有复杂的任务逻辑。何况所谓“核心”的任务逻辑是因项目而异的,并非某通用工具力所能及。

因此,本工具集有“实用价值不高”之嫌,但它们满足了我个人的癖好。

须注意,本套工具之主体均非采用 JavaScript 语言族编写,而是采用 2 种命令行环境之语言编写,即 PowerShell 语言和 Bash 语言。故本工具集之主体仅用于(多种)命令行环境。

虽然本套工具之主体并非 JavaScript 程序,但本工具集仍内建了一些有价值的 JavaScript 程序。每当其他 npm 包(暂称)安装完本工具集之际,本工具集内建的那些 JavaScript 程序会自动改动甲的环境配置,例如:

  • 将本工具集随附的实用工具之雏形复制到甲中的特定文件夹内(稍加修改即可运转)。
  • 构建一些实用的 VSCode 任务,以配合上述实用工具。

以上种种许令甲更方便的利用本工具集。

安装与使用

安装

本工具集虽运行在命令行环境(PowerShell 或【类 Bash】),且严格来说其服务对象并不局限于 npm 项目,但其自动化安装和部署之功能有赖于 npm 。自然的,本人令本工具集依托 npm 发行,故安装本工具集也不妨借助 npm 。

脱离 npm 来安装本工具集则稍繁琐,且该方法鲜有实用价值。从略。

依托 npm 服务框架来安装本工具集之步骤如下:

  1. 确保你的计算机或你的容器(例如 Docker Container)中已经安装了 Nodejs。见《Nodejs 官方下载页》。

  2. 虽然 Nodejs 往往会随附一个名为 npm 的工具。但是,一来此事并不一定(例如 Ubuntu 环境的 Nodejs 有可能并不附带 npm);二来即便 Nodejs 附带了一份 npm,该 npm 之版本也未必最新的。故而,推荐于此时机安装 最新版 的 npm 。

    • 以下方法假定你所安装的 Nodejs 确实随附了一份 npm,并利用该随附的、较旧版本的 npm 来安装最新版的 npm 。

      # Bash 或 PowerShell
      npm  i  -g  npm
      
    • 以下假定在 Ubuntu 系统安装 Nodejs 之后, npm 仍未安装。从零开始安装 npm 的步骤如下。

      apt  update
      apt  install  npm
      
  3. 借助 cd 命令来到你的项目文件夹,再用以下命令将你的项目初始化成一个 npm 项目。

    # Bash 或 PowerShell
    npm  init  -y
    

    具体而言,npm 将在该文件夹内创建一个文件,名为“ package.json ”,仅此而已。该文件是一切 npm 项目的关键配置,也是该类项目的本质特征。

  4. 借助 npm 正式安装本工具集。

    # Bash 或 PowerShell
    npm  i  -D  @wulechuan/cli-scripts--git-push
    

    此时,本工具集内建的 JavaScript 程序将尝试自动配置你的项目(暂称)。如下:

    • 如果甲中尚无 .vscode/tasks.json 这一文件,本工具集将创建之。
    • 修订 <甲>/.vscode/tasks.json ,使得甲具备几个专门用于调用本工具集之命令行脚本的【任务】。
    • 本工具会尽量将一些采用 PowerShell 语言撰写的命令行脚本文件复制到 <甲>/用于研发阶段的命令行工具集/PowerShell/ 这一文件夹内。如果此文件夹中原先已有同名脚本文件,则这些旧文件将得到保留,不会被覆盖。但自本工具集自 v4.0.2 版始,其 JavaScript 程序会尽可能修订业已存在的旧有命令行脚本文件。
    • 本工具会尽量将一些采用 Bash 语言撰写的命令行脚本文件复制到 <甲>/用于研发阶段的命令行工具集/bash/ 这一文件夹内。如果此文件夹中原先已有同名脚本文件,则这些旧文件将得到保留,不会被覆盖。但自本工具集自 v4.0.2 版始,其 JavaScript 程序会尽可能修订业已存在的旧有命令行脚本文件。

使用

在 PowerShell 环境中运行本工具集

本说明书中针对 PowerShell 环境给出的示例(见下文)较简易,以突出要素。

而本工具集随附的 JavaScript 程序会自动在你的 npm 项目的特定文件夹中产生若干 PowerShell 脚本文件,这些文件之内容远比下文诸例更复杂、更实用。可直接阅读并修订之。

另,本工具集自用之 PowerShell 脚本文件 与上述自动产生的 PowerShell 脚本文件高度相似,亦可参阅之。在此:

PowerShell 环境中的简易用法示例 1

该示例之功用:逐一添加 3 个集得源,并令过程在命令行窗口中较美观地呈现。

$吴乐川的模块的路径 = '.\node_modules\@wulechuan\cli-scripts--git-push\源代码\发布的源代码\PowerShell'

Import-Module  "${吴乐川的模块的路径}\吴乐川-数据处理-文本.psm1"
Import-Module  "${吴乐川的模块的路径}\吴乐川-内容呈现.psm1"
Import-Module  "${吴乐川的模块的路径}\吴乐川-集得源管理工具集.psm1"

Add-吴乐川添加单个集得源  -集得源在本机采用的名称 '吴乐川:码云' `
    -特征颜色 'DarkRed'      -集得源之完整地址 'git@gitee.com:nanchang-wulechuan/wulechuan--cli-scripts--git-push.git'

Add-吴乐川添加单个集得源  -集得源在本机采用的名称 '吴乐川:阿里云' `
    -特征颜色 'Blue'         -集得源之完整地址 'git@code.aliyun.com:wulechuan/wulechuan--cli-scripts--git-push.git'

Add-吴乐川添加单个集得源  -集得源在本机采用的名称 '吴乐川:GitHub' `
    -特征颜色 'Yellow'       -集得源之完整地址 'git@github.com:wulechuan/wulechuan--cli-scripts--git-push.git'
PowerShell 环境中的简易用法示例 2

该示例之功用:将当前的文件仓库上推至某个集得源,并令过程在命令行窗口中较美观地呈现。

$吴乐川的模块的路径 = '.\node_modules\@wulechuan\cli-scripts--git-push\源代码\发布的源代码\PowerShell'

Import-Module  "${吴乐川的模块的路径}\吴乐川-数据处理-文本.psm1"
Import-Module  "${吴乐川的模块的路径}\吴乐川-内容呈现.psm1"
Import-Module  "${吴乐川的模块的路径}\吴乐川-集得源管理工具集.psm1"

Push-吴乐川集得上推至单个源  '吴乐川:码云'  -集得源之显示名称文本采用的颜色 'Red'
PowerShell 环境中的简易用法示例 3

该示例之功用:将当前的文件仓库依次上推至 3 个集得源,并令过程在命令行窗口中较美观地呈现。特别的,还故意呈现了开始和结束提示语。

$吴乐川的模块的路径 = '.\node_modules\@wulechuan\cli-scripts--git-push\源代码\发布的源代码\PowerShell'

Import-Module  "${吴乐川的模块的路径}\吴乐川-数据处理-文本.psm1"
Import-Module  "${吴乐川的模块的路径}\吴乐川-内容呈现.psm1"
Import-Module  "${吴乐川的模块的路径}\吴乐川-集得源管理工具集.psm1"

Write-吴乐川显示_集得上推至一个或多个源_开始之提示语

Push-吴乐川集得上推至单个源  '吴乐川:码云'   -集得源之显示名称文本采用的颜色 'Red'
Push-吴乐川集得上推至单个源  '吴乐川:阿里云'  -集得源之显示名称文本采用的颜色 'Blue'
Push-吴乐川集得上推至单个源  '吴乐川:GitHub'  -集得源之显示名称文本采用的颜色 'Yellow'

Write-吴乐川显示_集得上推至一个或多个源_结束之提示语


在【类 Bash】环境中运行本工具

本说明书中针对 bash 环境给出的示例(见下文)较简易,以突出要素。

而本工具集随附的 JavaScript 程序会自动在你的 npm 项目的特定文件夹中产生若干 Bash 脚本文件,这些文件之内容略比下文诸例复杂、实用。可直接阅读并修订之。

实事求是地说,目前本工具集之 Bash 版本,自动化程度很低。因此,其他 Bash 程序对本工具集提供的 Bash 加以利用时,鲜有精彩可言,仅限于调用若干由本工具集提供的功能简朴之函数,以美化输出信息。以上述自动产生的 Bash 诸脚本文件为例,其中的逻辑并不比下文诸例复杂多少。这些自动产生的 .sh 文件的整个内容可谓“平淡无奇”。 所幸就在“自动”二字。

另,本工具集自用之 Bash 脚本文件 与上述自动产生的 Bash 脚本文件高度相似,亦可参阅之。在此:

【类 Bash】环境中的用法示例 1

该示例之功用:将当前的文件仓库上推至某个集得源,并令过程在命令行窗口中较美观地呈现。

source  './node_modules/@wulechuan/cli-scripts--git-push/源代码/发布的源代码/bash/吴乐川-集得源管理工具集.sh'

吴乐川-集得上推至单个源  --should-skip=false \
    --git-origin-name='吴乐川:码云' \
    --git-origin-display-name='吴乐川:码云' \
    --git-origin-display-name-color='red'
【类 Bash】环境中的用法示例 2

该示例之功用:将当前的文件仓库依次上推至 3 个集得源,并令过程在命令行窗口中较美观地呈现。特别的,还故意呈现了开始和结束提示语。

source  './node_modules/@wulechuan/cli-scripts--git-push/源代码/发布的源代码/bash/吴乐川-集得源管理工具集.sh'

吴乐川-集得上推至一个或多个源-显示开始之提示语

吴乐川-集得上推至单个源  --should-skip=false \
    --git-origin-name='吴乐川:码云' \
    --git-origin-display-name='吴乐川:码云' \
    --git-origin-display-name-color='red'

吴乐川-集得上推至单个源  --should-skip=false \
    --git-origin-name='吴乐川:阿里云' \
    --git-origin-display-name='吴乐川:阿里云' \
    --git-origin-display-name-color='blue'

吴乐川-集得上推至单个源  --should-skip=false \
    --git-origin-name='吴乐川:GitHub' \
    --git-origin-display-name='吴乐川:GitHub' \
    --git-origin-display-name-color='yellow'

吴乐川-集得上推至一个或多个源-显示结束之提示语

重要版本说明

  • 2022 年 5 月 24 日中午, v6.0.0版。

    • 更新了 PowerShell 的文字处理辅助工具集,并将该工具集的文件由原来的 吴乐川-文本处理工具.psm1 变更为 吴乐川-数据处理-文本.psm1
    • 同时也将 吴乐川-文本显示工具.psm1 更名为 吴乐川-内容呈现.psm1。但该文件内容无任何变动。

以上两各对外做接口之文件更名,故升级主版本号。

  • 2022 年 5 月 19 日晚间, v5.0.0版。

    • 用于研发阶段的命令行工具 更名为 用于研发阶段的命令行工具集 ,末尾多了一个“集”字。
    • 为令测试、安装等任务的输出信息有序、易读,放弃所有 Promise.allPromise.allSettled 写法。
  • 2022 年 5 月 19 日凌晨, v4.0.8版。Bash 版的命令行脚本文件名均改以小写字母起头。但我故意没有升主版本号。

  • 2022 年 5 月 18 日深夜, v4.0.7版。命令行脚本勘误。勘误前,每次执行完脚本后工作路径可能不作复原。顺便, PowerShell 版的应用示范脚本均改为借助 BEGINPROCESSEND 三个代码块来改善代码之可理解性。

  • 2022 年 5 月 17 日下午, v4.0.0版。变更了命令行脚本存放的路径。添加了大量 JavaScript 写成的内部工具,用于在其他采用本工具集的 npm 项目下自动配置本工具集。见本文《安装》一节的第 4 点《正式安装本工具集》。

  • 2022 年 5 月 12 日下午, v3.0.2版。重大勘误!

    • 因 PowerShell 环境的“当前路径”较难管理,故干脆禁止本工具集中的三个模块(.psm1)文件相互引用。外界采用本工具(往往)须明确引用全部三者。
    • 配合上述变动校勘文档。
  • 2022 年 5 月 12 日下午, v3.0.0版。接口文件、接口函数均有变动(更名),故不得不提升主版本号至 3

    • 源代码文件更名。
    • 接口函数几乎全部更名。
    • PowerShell 版的代码添加了 Add-吴乐川添加单个集得源 函数。
  • 2022 年 5 月 12 日凌晨,v2.1.0版。

    • 提升了容错性。
    • PowerShell 版的代码可自动计算标题行中尾部分割线的长度。
    • 添加了打印起始提示语的函数。
    • 添加了打印结束提示语的函数。

许可证类型

WTFPL

注意:

我未研究过许可证的约束。因此姑且声明为 WTFPL 类型。但实际上该许可证类型可能与我采用的开源模块有冲突。

Keywords

FAQs

Last updated on 02 Jul 2022

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc