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がパソコンにインストールされているか確認します。
$ 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