Githubのコミットを自動化する方法【Gitwatchの使い方+注意点あり】
こんにちは、マナブです。
今回は「Githubコミットの自動化」を書きます。
下記の状態を実現できます
- ローカル開発にて、ファイルを更新する
- それが自動的にGithubにコミットされる
なお、この方法は「本来は、間違っている使い方」です。
正しい使い方に関しては「こちらの記事」をどうぞ。
Githubのコミットを自動化する方法【3つの手順】
今回は「Gitwatch」というツールを使います。
手順①:まずは「Gitwatch」をインストールする
$ brew install gitwatch
上記では「Homebrew」を使っています。
使い方を知らない方は「こちらの記事」をどうぞ。
手順②:さらに「2つのツール」をインストールします
$ brew install fswatch $ brew install coreutils
先ほどと同様に、Homebrewを使っています。
手順③:自動的コミットのスクリプトを稼働する
スクリプトを動かすには、下記のコマンドで可能です。
$ cd 【開発ディレクトリに移動する】 $ gitwatch -r 【remote】 -b 【branch_name】 . &
上記でOKです。僕の環境だと、下記で動きます。
$ gitwatch -r origin -b master . &
もしくは、大半の人は下記コマンドだと思います。
$ gitwatch -r origin -b main . &
これにて、作業内容が「自動コミット」されます。
めちゃくちゃ簡単ですよね。
というわけで以上です。これ以降は余談です。
※補足:さらに詳しい使い方を知りたい方は「How to use Gitwatch」の記事をどうぞ。
なぜGithubのコミットを「自動化」するのか?
先日に下記のツイートにて、大批判が届きました。
エンジニア向けの話です😌
— Manabu (@manabubannai) December 19, 2022
Githubにプッシュするときは、左画像のように「設定ファイル(https://t.co/VV6h8ZG6yr)」を作っておいて、そしてターミナルから「sh https://t.co/VV6h8ZG6yr」で実行すると、わりと便利です。僕は個人開発なので、このスタイルです pic.twitter.com/RGHYFNFPSP
※ちょっと引用コメントが多いので補足です🙇♂️
— Manabu (@manabubannai) December 19, 2022
この方法は「僕の個人開発用」で「Githubをログ置き場」にしています。海外の「個人開発コミュニティ」を見ていたら、こういった人がいたので真似しました。でも、本来の使い方と違うので、怒られることも多いはず。そこだけご了承ください🙇♂️
しかし僕は組織に属しておらず、個人開発です。
なので「Github=ログ置き場」として使っています。
僕が「Dropbox」を使わない理由
ここまで読んだ人は「ログ置き場にするなら、別にGithubを使わなくても、Dropboxとかで実現できる」と言うはずです。
その通りです。僕も以前は、そうしていました。要するに「Dropbox内に開発ファイル」をおいておけば、自動でバックアップされますし、ログも取れます。
しかし僕のように「ブログ型のサイト」を運営すると、わりと「画像ファイル」が重たくなるんですよね。するとDropboxの無料枠だと厳しく、そういった背景から「Github」に移動しました。Githubなら、どれだけ使っても無料です。最高です。
プログラミング方法は、自由だと思う話
僕が尊敬するエンジニアは、ピーターレベルズ氏です。
元々は「Nomad List」の開発者で、僕がノマド時代にお世話になりました。最近は「AIサービス」を作っており、下記のとおり。
✨ You can now create your own AI avatars like these with my new AI mini project:https://t.co/3lLowfJe66
— @levelsio (@levelsio) October 28, 2022
📸 Upload some photos of yourself
🧠 Train a model on it and then
🖨 Generate 30 AI avatars of your own face in different styles
Still very very basic MVP but it works! https://t.co/fwrteJ7dh4 pic.twitter.com/Q5BpBg8y9J
彼の凄いところは「サービスを世の中に出しつつ、検証する」という点です。
上記の「Avatar AI」というサービスも、最初はバックエンドなどを作らずに、フロントエンドのみでリリースしています。そこから注文が入ったら、そこでやっと「このサービスは、機能するんだ」と理解して、徐々に作りはじめていく感じです。
そして「Avatar AI」のサービスは、彼が個人開発しており、月間で「1000万円」を超える収益が生まれています。
ピーター氏も、コミットを自動化している
僕がアイデアを頂いたのは、彼の投稿です。
"You're just lucky" pic.twitter.com/v4hObUe5lj
— @levelsio (@levelsio) November 11, 2022
I commit with CMD+Enter git shortcut, no commit messages, straight to production.
— @levelsio (@levelsio) November 11, 2022
When I am coding I might be committing 3 times per minute or more etc. Uptime 99.99% no issues.
I'm a bit different though 😅
This isn't advice
彼はコミットを自動化しており、コマンド+エンターを押すたびに、Githubに送信されるみたいです。僕はここから学んでいます。
AIで「コミットの自動化」も出来る件
✨ I got tired of writing commit messages, so I made an AI to do it for me.
— Miguel Piedrafita (@m1guelpf) October 31, 2022
Make some changes, run `auto-commit` and you're good to go! 🚀https://t.co/bV3fna983x pic.twitter.com/SRVlbUh27i
僕は使っていませんが、上記だと「AIがコミット時のメッセージを書いてくれるツール」です。これも良さそうですね。
しかし僕は「Github=ログ置き場」で満足しており、本来の使い方とは違いますが、このスタイルです。初学者が真似するのはNGですが、しかし「プログラミングは、個人の自由」だと思っているので、余談を書きました。以上です🙇♂️
※P.S:記事で紹介したツールは「@q42_engineerさん」からの情報提供です。この場を貸りて、感謝いたします。
※PS:普段の思考やビジネス戦略は「積み上げメルマガ」から発信しています。