1192.tokyo

本サイトは一部のページでアフィリエイト広告を利用しています。リンク経由で申し込みが発生した場合、運営者に報酬が支払われることがあります。

開発ツール

GitHubとは?コード管理と自動処理の役割をわかりやすく解説

AIにコードを書いてもらう作り方では、直してもらった結果おかしくなる場面が出てきます。そのときに前の状態へ戻せるのが、コードの置き場所と履歴です。このページでは、GitHubが何を記録してくれるのか、自動処理(CI)は何のために使うのかを説明します。

このページの結論

一言でいうと
コードの置き場所であり、いつ・どこを・どう変えたかの記録を残しておく場所です。
かかるお金
個人利用は無料。非公開リポジトリは数の上限なし、自動処理は月2,000分まで無料(超えると従量課金)
向いている人
コードの変更履歴を残しながら開発を進めたい人。自動処理(CI)を使いたい人。
向いていない人
コードをファイルとして手元だけで管理していれば十分な人。

GitHubとは

GitHubは、コードを置いておく場所であり、変更の履歴を記録する仕組みでもあります。 AIにコードを書いてもらう場合でも、「いつ・どこを・どう変えたか」を記録しておくと、 問題が起きたときに元の状態に戻しやすくなります。

ことば リポジトリ 1つのプロジェクトのコードと、その変更履歴をまとめて保存する場所のことです。
ことば CI(継続的インテグレーション) コードを変更するたびに、公開用ファイルへの変換( ビルド )や動作の確認(テスト)を 自動で行ってくれる仕組みです。GitHub Actionsという機能を使うと、GitHub上でこの自動処理を組めます。
ハル
ハル 聞く人 コードをAIに書いてもらうつもりなんですけど、それでも履歴を残す意味ってあるんですか?
ヤドカリ先生
ヤドカリ先生 答える人 むしろ、書いてもらうときほど効いてきます。 文書を書くときに「上書き保存」しかしていないと、おかしくなった箇所を前に戻せませんよね。 履歴を残しておくと、変になった時点まで巻き戻せます。
ハル
ハル 聞く人 じゃあ、こまめに保存しておいて、いつでも前の状態に戻せるようにしておく、ということですか?
ヤドカリ先生
ヤドカリ先生 答える人 それに近いです。加えて「どこを変えたか」も一緒に残るので、 動かなくなったときに、直前の変更を見て原因を探せます。 AIに何度も直してもらう作りだと、この記録がないと、どの修正で壊れたのか分からなくなります。
ハル
ハル 聞く人 CIというのも出てきましたが、これは何のために使うんですか?
ヤドカリ先生
ヤドカリ先生 答える人 コードを置くたびに動く、自分専用の作業係だと思ってください。 公開用のファイルを作る作業を毎回手でやるのは手間なので、その部分を任せます。
ハル
ハル 聞く人 作業係を雇う、みたいな感じですね。それは有料なんですか?
ヤドカリ先生
ヤドカリ先生 答える人 個人で使う範囲なら、無料の枠に収まることが多いです。 私はこの作業係に助けられたことがあって、サーバーの性能が足りずに公開用のファイルを作れなかったとき、 その工程だけCI側に任せて切り抜けました。下のコラムに書いています。
コードを直してから公開されるまで
  1. 01 手元のパソコン AIと一緒に直す
  2. 02 GitHub 置き場所と履歴
  3. 03 CI(自動処理) 公開用ファイルを作る
  4. 04 公開先 サーバーやホスティング

真ん中2つがGitHubの担当範囲です。手元と公開先の間に置くことで、記録が残り、以降の作業を任せられます。

履歴を残さない場合と、残す場合
手元に保存するだけ GitHubに記録する
壊れたときにできること 上書き前の状態には戻せない 動いていた時点まで戻せる
原因の探し方 記憶を頼りに探す 直前に変えた箇所を見る
別のパソコンで続きをやる ファイルを持ち運ぶ 取り出して続けられる
AIに何度も直してもらう作り方 どの修正で壊れたか分からなくなる 1回ごとの差分が残る

特徴

  • コードの変更履歴が残るので、問題が起きたときに、どの変更が原因かを追いやすくなります。
  • 非公開のリポジトリ(自分以外が見られない設定)を無料の範囲で作れます。
  • GitHub Actionsを使うと、コードを送るたびに自動で ビルド ・テスト・ デプロイ (公開先への反映)までを行えます。

使い方の手順

1

アカウントを作る

公式サイトから登録します。

2

リポジトリを作る

プロジェクトごとに1つ作ります。作成時に公開か非公開かを選びます。

迷いやすいところ: 迷ったら非公開にしてください。あとから公開に変えられます。逆に、一度公開したものは、消しても他人の手元に残ることがあります。

3

送らないファイルを先に決める

GitHubに置いてはいけないファイルの一覧(.gitignoreという名前のファイル)を用意し、パスワードに相当する情報(APIキーや環境変数と呼ばれるもの)が入ったファイルを送信の対象から外します。

迷いやすいところ: まだそういうファイルを作っていない段階でも、多くのひな形に最初から用意されています。AIに開発を頼んでいる場合は「.gitignoreを用意して」と指示すれば足ります。ここを飛ばすと、APIキーの入ったファイルをそのまま送ってしまいます。一度送ると履歴に残るので、あとから消しても完全には消えません。

4

コードを送る(push)

手元のパソコンにGitという送信用のソフトを入れ、変更をリポジトリに送ります。この送る操作をpushと呼びます。

迷いやすいところ: AIに開発を頼んでいる場合は、AIツールに「変更をGitHubに送って」と指示すれば、この操作もまとめて行えます。何を変えたかを一言添えて送ると、あとから原因を探すときの手がかりになります。

5

送れたか画面で確かめる

GitHubのページを開き、ファイルが並んでいるかを見ます。

迷いやすいところ: 除外したはずのファイルが混ざっていないか、ここで確認します。混ざっていたら、そのキーは作り直すのが確実です。

6

自動処理を組む(必要になったら)

GitHub Actionsで、ビルドや公開の手順を設定ファイルに書きます。

迷いやすいところ: 最初から組む必要はありません。手作業が面倒になってからで間に合います。

注意点

サーバーのメモリが小さいと、アプリのビルド(公開用に変換する作業)がその場でできないことがあります。 その場合、ビルドだけを別の環境で行い、できあがったファイルを転送する、という分担のさせ方があります。

よくある質問

コードを書けなくてもGitHubは使えますか?

AIにコードを書いてもらう場合でも、変更をGitHubに記録しておくと、あとから見返しやすくなります。

無料で使えますか?

個人利用なら無料です。非公開リポジトリの数に上限はなく、GitHub Actions(自動処理)も月2,000分まで無料で使えます。それを超えると従量課金になり、支払い方法を登録していない場合は利用が止まります。コードの保管・履歴の記録・非公開リポジトリだけの使い方なら、無料の範囲で足ります。

GitHub Actionsは使うことが前提の機能ですか?

いいえ。コードの保管と履歴管理だけで使うこともできます。自動処理は必要になったタイミングで組めば十分です。

まとめ

コードの置き場所であり、いつ・どこを・どう変えたかの記録を残しておく場所です。

向いている人

コードの変更履歴を残しながら開発を進めたい人。自動処理(CI)を使いたい人。

向いていない人

コードをファイルとして手元だけで管理していれば十分な人。