00:00
こんにちは、AIで仕事をサボるラジオのしゅうへいです。
ということで、Claude Codeでデプロイする人が覚えておきたいGitとGithubの話ということで、
最近、AI、Claude Codeコデックスを触り始めた人で、
GitとGithubってやたら聞くなと。
コミットとプッシュってなんか、AIが言うとるなとか。
ワークツリー、ブランチみたいな。
プルリクエストみたいな。
そこら辺りのワードを見かけたりとか、
全部は見ないにしろGitとGithubってたまに聞くなみたいな。
そういう方が今後、Claude Codeを使い続ける上で、
AIを使い続ける上で、
これは知っておきたいよなというところを、
今日は簡単に解説をしていきたいと思います。
もちろん、僕も元々エンジニアというわけではなく、
この6ヶ月ぐらいずっとClaude Codeを触りながら、
公式サイト、ウェブアプリを作ったりとか、
いろいろする中で覚えてきたことなので、
細かいところはエンジニアの方に聞かれたら、
多分間違ってる部分もあるかもしれませんが、
大まかこんなイメージだよという形で、
今日は細かいところはエンジニアの方のYouTubeとか、
AIに聞きながら進めていただきながら、
イメージをざっくりつかんでおくっていうような感じで、
今日聞いていただいたらいいかなというふうに思います。
まずGitとGitHub、これがもしなかったら、
我々Claude Codeとかを使っていく我々は、
どんな不便なことがあるのかということから、
まずは話していきたいと思います。
Claude Codeを使う上でGitは必須になっております。
多分これそうだと思う。
Claude Codeを触り始めたらGitを入れないと、
多分動かなかったはず。
そういうものなんですけど、
もしGitとかGitHubがなかったら何が起こるかというと、
いろいろ例えばウェブサイトとか何か自分が作って、
そのネット上に何かを公開するっていうのは
デプロイって言うんだけど、
リンク付けて友達に送って、
友達の環境からも見れるみたいなイメージです。
自分だけの環境じゃなくてね。
自分だけの環境ローカルって言ったりするんですけど、
じゃあ友達にこの自分のサイト作ってみてとか、
お客さんに見てくださいってリンクで共有したい、
リンクで写したいっていうことをデプロイって言うんだけど、
それを何かでやったとするじゃん。
あなたの公式サイトでも何でもいいサービスでも。
もしもあなたがそうだと。
8月で9月はなんかちょっとキャンペーンを打つから、
9月用のキャンペーンを作ろうと思って、
じゃあ何かClaude Codeで作業してました。
キャンペーン作ったと思ったらOKってClaude Codeに返したら、
なんとリンク先が友達からリンク来て、
9月のキャンペーン始まってない?
まだ8月だけどって来た。
あれ?みたいな。
ちょっと待って。
自分のとこだけで9月のキャンペーンをちょっと作ってたのに、
Claude Codeが勝手にデプロイ公開しちゃったとなりました。
03:01
これ戻したいよね。
戻したいね。
8月に戻します。
コマンドZとかコントロールZで戻したいよね。
Gitがなかったら戻りません。
厳密に言うと多分どっかにコードが残っていて、
それに戻すようなことは可能だと思いますけど、
Claude Codeで頼めば。
Gitがないなんて多分もう本当ありえない話ぐらいなので、
ここでは細かくは言わないですけど、
そういうことができないんですよ。
つまりGitがあるというのは、
今後開発していく上で、
特定のバージョンに戻したいって言った時に、
ちゃんと戻せるものなんです。
一人でやってるなら、
もちろん一人でやってても必要なんだけど、
複数人でやり取りをするとか、
ここの部分は誰かに任せようとか、
あとは今AIの開発で言うと、
要するに複数セッションで開発していくわけですよね。
公式サイトにしても見た目を整えてて、
こっちで9月のキャンペーンの記事を書かせておいて、
みたいなことをすると、
要するに何か2つ以上3つ以上で、
マルチタスクで開発していく上で、
バージョンがどのバージョンをいじってるかどうかって、
分からなくなったら、
ごちゃごちゃになるわけですよ。
だからもう一回作り直しとか、
もうバグとかっていうことが起こってしまうわけです。
だからいつでも特定のバージョンに戻せるよっていうのが、
Gitという機能なんですね。
いいですか。
だいたいこんな理解で大丈夫です。
簡単に言うと、
要するにバージョン管理ができるフォルダみたいなものです。
リポジトリというような概念があるんですけど、
これは別にそういうもんだと思ってください。
GitとGitHub似てるじゃん。
GitとGitHubどう違うのかっていうと、
GitHubはそういう変更履歴とかコードとかも含めて、
それがオンライン上に置いてあるものがGitHubというものです。
だからGitは完全にローカルです。
だからGitが漏れてるなんてことが起こったら、
結構危ないわけよね。
ローカルにしか置いとけないデータとかが出ちゃってるから怖いわけですよ。
だからGitは基本ローカルで、
Gitでそれをクラウド上、ネット上に上げるということがGitHubです。
でもGitHubは自分のGitHubのアカウントとかがあるので、
そのアカウントを開設したら、
要するに自分のパソコンからGit上にあるデータをGitHubに上げるっていうことができるわけですよ。
もちろん上げるときに非公開で公開することもできます。
要するに中身みたいなのを見せない設定もできたりしますし、
逆に言うとオープンソースとかって言っても全部中身見せますよとか、
僕も公式サイトとかであれば全然見られて困るものってそんなに情報としてないので、
ただのリンクだったりとかするので、
公式サイトにしては、
例えばGitHubのリポジトリっていうかGitHub自体は公開で出してることもあります。
この辺りちょっとややこしくなるから一旦忘れてください。
つまりGitはローカルでGitHubはクラウド上にあるというものなんです。
06:05
そのようなGitとかGitHubがなかったらバージョン管理ができないし、
誰かと何か作業するとか、
自分が何かいついつに送ったやつがローカルにあるんだけど、
でもネット上にあることによってそれを誰かに共有したりとか、
そこから何かダウンロードしてくることもできるし、
つまりGitHubを経由することによって、
バーセルとかクラウドフリアもそうだけど、
公式サイトとかウェブアプリとかのウェブ上のサービスのバージョン管理がすごくしやすいし、
開発がしやすいよと絶対必要な土台、
家で言うと基礎みたいなものなんですよ。
こっからコミットとプッシュという言葉があります。
コミットは何かというと、さっき言ったGitにセーブをするみたいな感じです。
ここまで作業をしましたよと。
ゲームで言うと、ここの特定のダンジョンまで進んでこの敵を倒しましたよ。
やった、敵倒した。
でもセーブし忘れて最初の境界に戻っちゃった。
みたいなことを防ぐのがコミットです。
例えば、僕いちいち言わないけど、
クラウドコードとかにコミットしてとか言うと、
ここまでの状況をローカル上に保存してくれと。
プッシュって何かというと、GitHubにその情報を上げることです。
これはデプロイとももちろん似てるし、
確かにプッシュされて自動でデプロイされる場合もあるんだけど、
基本的にはプッシュしただけで完全にみんなに見えるわけではなくて、
さっきも言った特定の自分のリポジトリ、
GitHubのとあるフォルダの中に入っているということ。
アップロードするというのはプッシュということです。
コミットというのはローカルでセーブ。
プッシュというのはGitHubに上げる。
クラウド上に上げるということですね。
ここでプッシュした内容をデプロイしていったら、
もうみんなが見れるようにするということですね。
公開されますよということです。
クラウドコードを使う上でこの辺り、
Git、GitHubの違い、コミット、プッシュ、デプロイというのを
一つのセットとして覚えておくといいです。
別に言葉を覚えなくてもいいですが、
何をやっているのかなということが分かれば大丈夫です。
ここからさらに踏み込んで、
ブランチというものがあります。
ブランチ、枝ですね。
これは要するに例えば、
僕が公式サイトを作っていたとしたら、
この公式サイト自体はメインというものに入っております。
木でいうと幹です。
この公式サイトというとでっかい木が生えている。
公式サイトにいろんな機能を持たせたいな、
決済機能を入れたいなとか、
ここからカレンダーで周辺の個別面談を予約できるようにしたいなとか、
いろいろ僕が開発したくなるとするじゃないですか。
その時にブランチを切ってそっちで開発をするという時に、
ブランチを切るというか、ブランチという言葉が出てくるわけですよ。
これは要するにメインに対して影響を与えない状況で開発をしていくというものです。
怖いのは、OK、OK、Gitにも保存してるし、
GitHubにもプッシュしてるし、
じゃあこのメインいじりますっていじってて、
僕が決済サイトをやろうと思ったら、
元々のウェブサイトをぐちゃぐちゃにしちゃったと。
09:02
ぐちゃぐちゃになったらもう1個バージョン戻さないとってやりとりがめんどくさいじゃないですか。
であれば、メインにちゃんと、
メインはメインであって、
そことは別に影響を与えない状態でブランチで枝でやっていきますよ。
木の枝でビョビョビョビョって伸ばしていきますよというようなことができるわけです。
でこのブランチがダメだったら、
別にブランチを削除すれば全くメインにも影響を与えないし、
もしOKだったらブランチでメインの方に合わせるというか合体させることができます。
これをMargeって言うんですけど、
Margeするって言うんですけど別に覚えなくていい。
でそのした時にちゃんと問題が起こらない状態を確認してからブランチをMargeすると。
でこの時にプルリクエストっていうのが出てきます。
エンジニア会話でPRって言うんでしょ、多分PR。
PRってさ、なんかPR投稿なのかなとか思ってたし、
あとPRってプロンプトの略でもあったりするんですよね。
だから何のこと言ってるのかなエンジニアの方って思ったらPRってプルリクエストです。
これは要するにブランチ切った時に、
じゃあもうこのブランチを取り入れてくださいね。
メインの幹の方に取り込んでくださいね。
プルプル引いちゃってくださいねっていうのでプルリクエストっていうのを送って、
その後にコンティニュニアスインジケーターみたいなこと言うんですよ。
インジケーターじゃなかったね。
インテグレーションだったけど、CIって言って、
要するにそれブランチがちゃんと動いてるかっていうのをちゃんと確認するんですね。
これいちいち覚えなくていいですよ、僕もよくわかってないから。
でこのプルリクエストCIが終わって、
でメインにMargeされて動いててOKみたいな感じです。
そうだからこれは覚えなくてもいいんだけど、
実はですねこれクロードコード勝手にやるんですよ。
最近ねクロードコードデスクトップアプリのところでもアップデートがあったんですけど、
このMargeとかが出てくるようになりました。
チャットの画面の上の方に。
だから要するにもうクロードコード側は、
これじゃあもうブランチ切ってやった方がいいねって勝手にやってくれてます。
であと何かやってたらワークツリーで開始とかって右上に出てくるんですけど、
これが細かくは僕も全く完全にわかってるわけじゃないんだけど、
このブランチを切ってやることの上、
ブランチを切って仕事をすることを含めて、
ちょっと違うんだよなニュアンスが。
ワークツリーっていうのはね何かね、
同じリポジトリの中でフォルダを分けて作業させるっていうことがワークツリーなんですよ。
そうもうややこしいよね。
ごめんよくわからない。
もうほっといていいです。
僕もねここも完璧にはごめんなんかうまく自分の中を落とし込めてないんだけど、
ワークツリーを開始するってなったら、
要するに複数ブランチを切ったりとかしても、
要するにそれぞれに影響を与えないように、
メインの方にも影響もちろん与えないし、
ワークツリーで開始したら元々の作業とかもその中で共有化されるらしいんですよ。
実はすごくワークツリーって便利で、
でもそれはもうクロードコードが勝手にやってくれるので、
ワークツリーで何か開始しますねって言ったら、
ああ安全にやってくれるんだとか、
じゃあこっちからこれワークツリーで開始してとか、
ワークツリーでやってって言ったら勝手にワークツリーでもやってくれるし、
ブランチ切ってとか言わなくても、
ずっと必要があったらやるということです。
ただですね、これいろいろやってると、
12:01
要するに他のプルリクエストとか、
他のブランチとかを、
他のやつを一緒にプッシュしてしまったりとか、
一緒に巻き込みでデプロイしてしまうケースがあって、
僕もそれ結構クロードコード内で起こったんです。
大きな問題にはなってないんだけど、
結構バージョンの履歴の差があったりとかすると結構めんどくさいから、
やっぱりそこはブランチだけじゃなくて、
ブランチとかワークツリーみたいな概念が何となく分かった上で、
こういうことをやってるんだなって分かっておくと、
今後何か開発するとか、
何か納品するという時も、
なるほどね、こういうことをやってるんだなというのが理解できて、
より開発しやすくなると思います。
結構この辺りがやればやるほど割と沼というか、
分からなくなります。
僕もちょっと今回勉強したので、
今の知識でしかないんですけど話しておきました。
ちなみにこういうふうに今の自分の知識量で、
こういうふうにGitとかGitHubとかを自分なりに説明して、
ChatGPTにフィードバックもらうというのは結構お勧めなので、
昨日のPodcastの放送にも繋がりますけど、
ChatGPTのリアルタイム音声のやつですね。
あれ昨日話し忘れてたんですけど、
教えてって言って話させるよりも、
自分の今の知識量でチャットGPTに教えるっていうこと結構お勧めなので、
違うところを忖度なくフィードバックもらうっていうね、
そういうのも結構お勧めでございますので、
よかったらその使い方もしてみてくださいということで、
今日も聞いただきありがとうございました。
クロードコードとかクロードコワークとか、
クロードデスクトップアプリの使い方はですね、
僕が作った世界一わかりやすいクロードの教科書というものを作っておりますので、
デスクトップアプリに関しても徹底的に解説した教科書で、
なんと1300人以上がもうすでに買っていただいておりまして、
非常に人気の書籍、デジタルコンテンツになってます。
動画です、基本動画コンテンツなので、
動画を見ながらクロードコードとかの設定が進みますので、
ぜひですね、気になる方は今日リンクつけておきますので、
よかったら公式サイトのリンクをつけておきますので、
見てみてくださいということで、
今日も聞いただきありがとうございました。
この後も心地いい時間お過ごしください。
バイバイ。