授業用テキストです
git, github, toirtoiseGitの設定方法を説明します。
1. バージョン管理ツールとは
プログラム作成の初心者を脱するとこのような悩みが出てきます。
- 「ファイルを間違えて消してしまった。内容を間違えて変えてしまった・・・」
- 「昨日まで動いていたプログラムが動かなくなった...前の状態に戻したい」
- 「複数のバージョンを試したいけど、ファイルをコピーして管理するのは面倒」
- 「チームでプログラムを作る時、誰がどこを変更したかわからない」
これらの問題を解決するのがバージョン管理ツールです。
バージョン管理ツールができること
大まかにこのようなことができます。
- 変更履歴の記録: ファイルの変更を時系列で記録し、いつでも過去の状態に戻せる
- バックアップ: プログラムのコードを安全に保存し、データ消失を防ぐ
- 実験: 新機能を試す時も、元のコードを壊す心配がない
- 並行開発: 複数の人が同じプロジェクトで作業しても、変更を安全にマージができる
通常のファイルストレージと異なる点は「バージョン」を管理する点にあります。
同じファイルでもファイルが変更されるごとに「バージョン」が付与され、変更の差分を確認したり好きなバージョンに変更したりできます。
AIエージェントにコーディングを任せていると、コード量が増えた時にたまにAIエージェントも修正動作がループしてどうしようもなくなってしまうことがあると思います。
そのような時に「最後に動いていたあの時点まで巻き戻してやり直したい」というときに戻れる「セーブポイント」のようなことができます。
2. Git
Gitとは
Gitは、世界で最も使われているバージョン管理システムです。
Gitの特徴
- 分散型: 各開発者のコンピューターにプロジェクトの完全なコピーが保存される
- 高速: ローカルでの操作が非常に速い
- 柔軟性: ブランチ(並行開発)機能が強力
- 無料: オープンソースで誰でも使える
Gitの基本概念
-
リポジトリ(Repository) :「置き場」
プロジェクトのファイルと変更履歴を保存する場所。 -
** Clone ** : リポジトリからローカルへの初回設定
リモートにあるリポジトリの環境をローカルへ持ってきます。
ダウンロードの様な操作なので後述のPullと混同するかもしれませんが「ローカル側の初回設定」の様なイメージをもっていただければと思います。 -
コミット(Commit):「変更を記録する」
「この時点でのプロジェクトの状態」を保存する。「セーブ」です -
プッシュ(Push):「サーバーにアップ」
今回の説明はcommitとpushは同時に行ってしまいますのであまり意識しなくてよいです。
gitのcommitはローカルに対して行いますが、pushはcommitをサーバーにアップします。 -
プル(Pull): 「サーバーからダウンロード」
サーバーからファイルがダウンロードされます。単純にダウンロードされるのではなく、自分の修正とマージされます。
他にも今回は解説しませんがブランチ(枝分かれ)、マージ(枝分かれからの統合)などの機能があります。
インストール
WindowsPCで説明します。(Mac等は初めから入っています。)
https://gitforwindows.org/
にアクセスするかgit for Windowsで検索します。
ダウンロードしたインストーラーを起動します。

色々な項目がでますが「Next」を押し続けインストールを完了します。

gitは実際にはコマンドで操作します。
しかしコマンドの習得にはそこそこ時間がかかるので、今回は後程紹介するGUIで操作が可能なtortoiseGitを使用し紹介する
3. GitHub
GitHubとは
GitHubは、Gitリポジトリをクラウド上で管理できるWebサービスです。
細かいことは省きますが、gitは「あなたのPCで修正履歴を管理」githubは「インターネット上のサーバーでみんなの修正履歴を管理」のようなイメージを持っておけばいいと思います。
一人だけで開発する場合githubはいらないと言われればなくてもよいのですが、gitの設定をしてしまえばgithubの設定はそこまで複雑でもないですし、PCのデータが消えたり複数のPCで作業したい場合などを考えると合わせて使った方が良いと思います。
むしろ後述するGUIで使用できるツールが前提と考えるとむしろgitだけの運用の方がハードルが高くなると思います。
GitHubの特徴
- クラウドストレージ: コードを安全にオンラインで保存
- コラボレーション: チームでの開発を支援する機能が豊富
- オープンソース: 公開リポジトリは無料で利用可能
- 統合機能: 多くの開発ツールと連携可能
他にもいろいろな機能があるのですが、まずは「無料で使えるソースコード置き場」くらいに思ってください。
GitHubアカウントの作成
githubを使うにはパソコン上の作業ではなく、Webページ上での作業となります。
https://github.com/ にアクセス。もしくはgithubで検索してください。
ユーザー名、メールアドレス、パスワード、その他を入力し「Create Account」を選択
Googleアカウントをお持ちの場合はContinue with Googleを選んだ方が楽です。

リポジトリを作ってみる
アカウントが登録完了すると次のような画面になると思います。
さっそく「Create Repository」を押して自分のリポジトリ(ファイル置き場)を作ってみましょう。

色々な設定がありますが、まずは「Repository Name」に好きな名前を入れてCreate Repositoryを押しましょう。
Choose visibilityがPublicになっていると他の人にも見える状態になりますので、気になる方はPrivateにしましょう。

作成ができたら次の画面になります。
赤枠で囲んだ部分がこのリポジトリにアクセスするためのURLになります。
後で使いますのでメモしておきましょう。

4. TortoiseGitによる操作
TortoiseGitとは
TortoiseGitは、WindowsのエクスプローラーでGitを使えるようにするGUIツールです。コマンドを覚えなくても、マウス操作でGitの機能を使用できます。
Macには対応しておりませんが、「Sourcetree」という別のソフトがあるのでそちらで試してみてください。
TortoiseGitのインストール
https://tortoisegit.org/ にアクセス。またはTortoiseGitで検索
ご自身のPCにあったインストーラーを選択。ほとんどの場合for 64-bit Windowsになると思います。

基本的にそのままの設定でNextを押していきインストールを進めてください。

ウィザードもNextで進めていってください。
途中で以下の画面が出ます。前述のGitのインストールができていない場合このGit.exeに何も入っていない状態になります。一度中止してGitのインストールを先に行ってください。Git.exeにパスが入っている場合はこのままNextで進めてください。

この画面はソースをcommitした際に誰がcommitしたものかを記名するものです。
任意の名前とメールアドレスで構いません。

以下の画面は認証に使うソフトの指定ですが、わからなければそのまま「完了」を押してください。

完了したらエクスプローラーを再起動しましょう。エクスプローラーだけ再起動させる方法がわからなければPCの再起動で大丈夫です。
基本操作手順
リポジトリのクローン
「クローン」とは自分、もしくは他人のリポジトリからソース一式をとってくることができる操作です。
先ほど作成したリポジトリ画面でコピーしたURLを使用して、自分のリポジトリにアクセスしましょう。
メモをし忘れたという人でも大丈夫です。githubにサインインしてトップ画面の左側に作成したリポジトリの一覧がありますのでそこからリポジトリのページに飛べます。

空のリポジトリの場合はこのような画面

もしくはすでにソースが入っている場合は以下のような画面になるので赤枠部分からリポジトリのURLをコピーしてください。

リポジトリのURLをコピーしたら任意の作業フォルダを開き「Shiftを押しながら右クリック」しましょう。
TortoiseGitのインストールに成功していれば、Git関連のメニューが追加されているはずです。
「Git Clone」を選びましょう

Git Cloneの画面にリポジトリのURLを指定します。(コピーしていれば恐らく初めから入力された状態だと思います。)
入力後OKを押してください。

成功したらSuccessを押してください。
作業フォルダの中にリポジトリ名のフォルダが作成されているはずです。

今回は空のリポジトリをcloneしたので何もないフォルダです。
(隠しフォルダが見える設定になっている方は.gitというフォルダ名が見えますが基本的にこのフォルダを触ることはありません。)

ファイルの追加
試しにファイルを追加してcommitとpushをしてみましょう。
何でもよいのでテキストファイルを追加したのち
Shift+右クリックで今度は「Git Commit」を選択しましょう

Message欄に変更がわかるような任意のメモを入力してください。
また追加したいファイルにチェックを入れてください。たくさんのファイルを追加した場合はAllを押せばすべて追加されます。
またCommitは押さずに横の▼アイコンを押してください。

▼アイコンからcommit & pushを選択してください。
これでローカルへのcommitとサーバへのpushが同時に行われるようになります。
※commitとpushは実際には別々にやった方がいい状況もあるのですが、gitに慣れるまでは同時で良いでしょう。

初回だけサインインを求められると思います。Sign in with your browserでブラウザからサインインしてください。

このような画面が出たらAuthorize git-ecosystemを選択してください。

その後ブラウザ側は真っ白な画面になってしまうかもしれませんが、TortoiseGitの画面に戻ってSuccessと出ていれば成功です。

ブラウザからgithubのリポジトリ画面に移動し、登録したファイルが表示されていると思います。これで無事ファイルがアップロードできました。

ファイルの変更と差分管理
ファイルの新規追加だけでなく、変更を行った際もこのcommit & pushでアップロードすることができます。
先ほどアップロードしたテキストファイルの内容を何でもよいので変更してい見てください。
その後、同じようにGit CommitからCommit & Pushを行います。

うまくいったら、さらにもう一回ファイルに何か記載してGit CommitからCommit & Pushを行ってください。(2回更新し、履歴が3つになった状態です。)
完了したらShift+右クリックからShow Logを選択します。

この画面でファイル名を選択し右クリック→Compare with previews revisionを選択すると、前のバージョンとの差分を確認できる画面になります。


また3つ目のリビジョンを選んで右クリックしたのち
Revert change by this commitを選択しましょう。
これは3つ目のリビジョンをとりけすという操作になります。(2つ目の状態に戻ることになります。)

3回目のcommitを逆算したような登録が行われます。

ファイル名をダブルクリックすると具体的に巻き戻っている箇所が差分で確認できます。

これをCommit&Pushすることで巻き戻すことができます。
他にも様々な機能がありますが、基本的な機能は以上です。
おまけ:GitHubでWebアプリを公開する
バージョン管理ツールの本来の機能ではありませんが、GitHubには
Webサイトを無料で公開できる機能があります。
GitHub Pagesの設定
-
リポジトリの準備
先ほど作成したリポジトリにindex.htmlやcss/javascriptファイルを置いてcommit&pushしましょう。(index.html/css/javascriptの作成はここでは省略します。) -
Pages機能の有効化
GitHubのリポジトリページで「Settings」をクリック
左メニューの「Pages」を選択し、表示された設定画面で
完了後以下のようにPages設定画面内にVisit siteのボタンが表示されるのでこれを押すと公開されたサイトを表示できます。
※反映に時間がかかることがあるので、Visit siteが表示されていない場合は1~10分ほど待ってから再度Pages設定画面を見てみてください。

同じくPages設定内からCustom Domainメニューで独自のURLにすることもできます。(独自ドメイン設定はDNSの設定等が必要なのでここでは説明は割愛します)
あくまで静的ホストのみが可能です。(html/css/javascriptファイルなどの"クライアントサイド"アプリ)。
動的なWebアプリはGithub Pagesは対応していません。(pythonやphp,java等の"サーバーサイド"アプリは動作できません。)








