Gitをシンプルに使えるCLIツール作った - begit
begit
公式ページはこちら
思想
- Git、GitHub がよくわからない・あまり使ったことがない方でも、安全・簡単に使える。
- とにかく、簡単にリポジトリを作って、簡単にプッシュできる。
事前準備
CLI を使用する前に、以下の準備が必要です。
- GitHub アカウント
- 作成方法はこちらを参照:【2020年最新版】5分でできる!GitHubアカウント作成方法
- Node.js のインストール
- インストール方法はこちらを参照:Node.jsをインストールする
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
このフォルダは準備済みです。
裏側の処理
- カレントディレクトリで
git init
を実行します。 - GitHub に
プロジェクト名
で指定したリポジトリを作成し、リモート origin に設定します。 -
.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 とは関係ありません)。
Discussion