😸

Gitをシンプルに使えるCLIツール作った - begit

2020/09/29に公開

begit

公式ページはこちら
https://www.npmjs.com/package/begit

思想

  • Git、GitHub がよくわからない・あまり使ったことがない方でも、安全・簡単に使える。
  • とにかく、簡単にリポジトリを作って、簡単にプッシュできる。

事前準備

CLI を使用する前に、以下の準備が必要です。

CLIインストール

以下のコマンドをターミナルで実行してください。

$ npm install -g begit

以下のメッセージが表示されれば、インストール完了です。

/usr/local/bin/begit -> /usr/local/lib/node_modules/begit/index.js
+ begit@0.1.0
updated 1 package in 2.367s

使い方

初期設定を行う

Git が PC にインストールされているか確認します。

$ begit init

インストールされている場合、Git のバージョンが表示されます。

$ begit init
初期設定を行います。

Git:確認しています...
Git:インストール済み git version 2.28.0

インストールされていない場合は、表示される URL から Git をインストールしてください。

初期設定を行います。

Git:確認しています...

Git:インストールされていません。
以下のURLからGitをダウンロード、インストールしてください。
  https://git-scm.com/

事前準備をする

プロジェクトのフォルダで、以下のコマンドを実行してください。
※このコマンドは初回のみで大丈夫です。
※clone してきた場合は実行不要です。

$ begit create <プロジェクト名>

サンプル

$ cd /path/to/project/folder
$ begit create sample-project
準備を開始します。
GitHubのユーザー名/メールアドレスを入力してください。
> {ここにユーザー名を入力してください}
GitHubのパスワードを入力してください。
> {ここにパスワードを入力してください}
準備しています...
準備が完了しました。以下のURLからアップロードしたファイルを見ることができます。
  https://github.com/{ユーザー名}/sample-project

新しいファイルをアップロードする場合は、以下のコマンドを実行してください。
  $ begit upload

ユーザー名とパスワードはプログラム上保存されません。

コマンドを実行すると、GitHub にリポジトリが作成され、ここにファイルがアップロードされていきます。

同じプロジェクトフォルダにcreateコマンドを複数回実行した場合、以下のメッセージが表示されます(何回実行しても特に問題ありません)。

$ begit create sample-project
このフォルダは準備済みです。

裏側の処理

  1. カレントディレクトリでgit initを実行します。
  2. GitHub にプロジェクト名で指定したリポジトリを作成し、リモート origin に設定します。
  3. .gitkeepファイルを作成し、masterブランチをリモートにプッシュします。

デフォルトでprivateの可視性です。
publicにする場合は、GitHub リポジトリの設定から行ってください)

ファイルをGitHubにアップロードする

$ begit upload

省略形
$ begit up

サンプル

$ begit upload
ファイルをアップロードしています...
アップロードが完了しました。

アップロードすると、GitHub 上にファイルが表示されます(今回は sample.txt をアップロードしました)。

裏側の処理

内部的には以下のコマンドを実行しています。

$ git add .
$ git commit -m "{現在時刻}"
$ git push

まとめ

リポジトリ作成を 1 コマンド、GitHub へのプッシュを 1 コマンドでできる CLI ツールを作成しました。
この記事もbegitを使って更新していますが、とりあえずプッシュすれば良いリポジトリでは、ステップが減って良い感じです。

ワンタイムパスワードやトークンは今後対応予定です。
バグ報告、機能追加要望はコメントに記載いただくか、こちらのリポジトリに Issue を作成していただけると幸いです。

(なお、GitHub CLI とは関係ありません)。

GitHubで編集を提案

Discussion