GitとGitHubとは?初心者向けに「変更履歴管理」を整理してみる

AI活用

「Gitって結局何?」
「GitHubってGitと何が違うの?」
「AI時代に必要って聞くけど、何が便利なの?」

最近はChatGPTやCodexでコードを書く機会が増えた。

その一方で、

  • AIが大量にコードを書き換える
  • 動いていたものが急に壊れる
  • 修正したら別の場所が壊れる

みたいなことも普通に起きる。

そこで重要になってくるのが Git。

それはわかる。わかるが、いろいろ調べても今一つよくわからない。

ので、自分で記事にすることにした。

この記事では、

  • GitとGitHubの違い
  • 新規作成からリリースまでの流れ
  • branchを使った安全な実験方法
  • 壊れた時の戻し方
  • 自動デプロイ
  • セキュリティ注意点

を初心者向けに整理する。


Gitがあると助かる場面

Gitは単なる「バックアップ」ではない。

実際に助かるのはこういう場面。

・昨日動いていた状態に戻せる
・AI改修前へ戻せる
・別案を安全に試せる
・PC故障時の保険になる
・公開版だけ管理できる
・どの変更で壊れたか追跡できる

AI時代は特に、

「安全に試行錯誤できること」

の価値が大きい。

ロコ
AIにコードを直してもらう時ほど、先にGitでセーブポイントを作っておくと安心です。

Gitとは

Gitは「変更履歴管理システム」。

簡単に言うと、

ファイルのセーブポイントを残し続ける仕組み

に近い。


Gitがない世界

Gitなしだとありがちなのがこれ。

project_final
project_final2
project_final_last
project_final_last_fix

途中でどれが正しいか分からなくなる。


Gitがあるとどうなるか

flowchart TD

A[ファイルを編集する] --> B[Gitで変更を確認]

B --> C{保存する変更か?}
C -->|はい| D[git add]
D --> E[git commit]
E --> F[履歴として保存]

C -->|いいえ| G[変更を破棄]

F --> H[過去へ戻せる]
F --> I[変更差分を確認できる]
F --> J[どこで壊れたか追跡できる]

Gitは、

  • 変更履歴
  • バージョン管理
  • 復旧

を助ける。


GitとGitHubの違い

ここはかなり混乱しやすい。


Git

履歴管理システム本体。

PCだけでも使える。

flowchart TD

A[ローカルPC]

A --> B[Git]

B --> C[変更履歴]

GitHub

Gitデータをクラウド保管するサービス。

flowchart TD

A[ローカルPC]

A --> B[Git]

B --> C[GitHub]

つまり:

名前役割
Git履歴管理
GitHubクラウド保存・共有
ロコ
まずはGitだけでも大丈夫。GitHubは、バックアップや共有が必要になってからでも遅くありません。

ローカルGitだけでもかなり価値がある

ここは重要。

初心者は、

GitHub必須

と思いがち。

でも実際には、

  • VBA
  • WordPress
  • Python
  • HTML/CSS

くらいなら、

PC内Gitだけでもかなり助かる

まずは:

壊れても戻せる

を体験するだけでも価値がある。


Git操作の流れ

初心者が混乱しやすいのが:

  • add
  • commit
  • push

の違い。

まずはこの流れで考えると分かりやすい。

flowchart LR

A[ファイル編集]

--> B[git add

保存候補へ入れる]
B --> C[git commit
履歴として保存]

C --> D[git push
GitHubへ送る]

新規作成からリリースまでの流れ

初心者向けにかなり簡略化するとこう。

flowchart LR

A[プロジェクト作成] --> B[Git初期化]

B --> C[ファイル編集]

C --> D[commit]

D --> E[GitHubへpush]

E --> F[テスト]

F --> G[リリース]

実際に使うコマンド


Git初期化

git init

現在フォルダをGit管理化する。


状態確認

git status

最重要コマンド。

初心者はまずこれを多用する。


変更追加

git add .

変更ファイルをcommit対象へ入れる。


履歴保存

git commit -m "初回登録"

セーブポイント作成。


GitHubへ送る

git push

GitHubへアップロード。


GitHubから取得

git pull

GitHub側の最新状態を取得。


mainとbranchとは

Gitで重要なのが branch。


main

本線。

現在の安定版。


branch

実験用コピー。

別世界を作るイメージ。

mainをコピーして、

安全な実験空間

を作る。


branchのイメージ

flowchart LR
subgraph MAIN["main(安定版)"]
    M1[v1.0]
    M2[不具合修正]
    M3[v1.1]
end

subgraph BRANCH["feature-ui"]
    B1[UI変更]
    B2[AI改修]
    B3[色調整]
end

M1 -. branch作成 .-> B1
B1 --> B2
B2 --> B3

B3 -. merge .-> M3

なぜbranchが重要なのか

AI時代は特に重要。

例えば:

  • Codexで大規模改修
  • CSS全変更
  • WordPress改造

を直接mainでやると危険。

branchなら:

  • 失敗しても捨てられる
  • mainは壊れない

ので安全。


branch作成

git branch feature-ui

branch切替

git checkout feature-ui

branch作成+切替

git checkout -b feature-ui

これをよく使う。

ロコ
AI改修を頼む前に branch を切る、という癖をつけると事故が減ります。

merge(反映)

問題なければmainへ反映。

git checkout main
git merge feature-ui

Gitを使ったリリースイメージ

Gitは「開発」だけではなく、

公開まで繋がる。

flowchart LR

A[開発]

--> B[テスト]
B --> C[mainへmerge]

C --> D[GitHubへpush]

D --> E[本番公開]

壊れた時の戻し方

Gitの最大価値。


変更取り消し

git restore .

commit前の変更を戻す。


過去commitを見る

git log

履歴一覧を見る。


過去commitへ移動

git checkout コミットID

昔の状態を見る。


reset –hard は強力なので注意

git reset --hard コミットID

完全に戻す。

ただし、

  • 作業内容が消える
  • 初心者は事故りやすい

ので注意。

ロコ
reset --hard は強力です。迷ったら、先に別branchを作るか、作業フォルダをコピーしてから実行した方が安全です。

GitHubと自動デプロイ

最近かなり便利。


自動デプロイとは

GitHubへpushすると:

  • サーバーへ自動反映
  • 公開サイト更新

まで自動化する仕組み。


イメージ

flowchart LR

A[ローカルPC]

--> B[git push]
B --> C[GitHub]

C --> D[GitHub Actions]

D --> E[サーバーへデプロイ]

E --> F[Webサイト更新]

何が便利か

例えば:

  • WordPressテーマ
  • HTMLサイト
  • React
  • Pythonアプリ

など。

毎回FTPアップロードしなくてよくなる。


FTPは注意

昔ながらのFTPは危険。

できれば:

  • SFTP
  • SSH

推奨。


セキュリティ注意点

ここはかなり重要。


APIキーをcommitしない

例えば:

API_KEY=xxxxx
PASSWORD=abc

をGit管理すると危険。


理由

Gitは履歴が残る。

つまり:

一瞬でもcommitすると履歴から掘れる

削除しても危険。


実際に起きている事故

実際には、

  • AWSキー流出
  • OpenAI APIキー流出
  • WordPressパスワード流出

などが起きている。


.gitignore を使う

Git管理除外設定。

.env
node_modules/
vendor/
config.local.php

秘密情報を除外する。

ロコ
APIキーやパスワードを一度commitすると、削除しても履歴に残ります。公開リポジトリでは特に注意です。

初心者向けおすすめ運用

最初はこれで十分。


Step1

ローカルGit。

PC
 └ Git

まずは「戻せる」ことを覚える。


Step2

GitHub Private。

PC
 ↓
GitHub Private

バックアップ追加。


Step3

自動デプロイ。

GitHub
 ↓
サーバー

更新自動化。


AI時代はGitが重要

最近は特に重要。

AIは:

  • 一括変更
  • 大量修正
  • 想定外変更

を普通にやる。

つまり、

「戻せる前提」

がかなり重要になる。

Gitはその保険。


よく使うGitコマンド一覧

コマンド内容
git initGit開始
git status状態確認
git add .変更追加
git commit -m “msg”履歴保存
git pushGitHubへ送信
git pullGitHub取得
git branchbranch一覧
git checkoutbranch切替
git checkout -bbranch作成+切替
git mergebranch統合
git restore .変更取消
git log履歴表示
git reset –hard強制的に戻す

まとめ

Gitは、

「完成品保存」

ではなく、

「安全に試行錯誤するための履歴管理」

に近い。

特にAI開発では:

  • 壊れる速度が速い
  • 修正範囲が広い
  • 何を変えたか追いにくい

ので、Gitの価値がかなり上がっている。

個人開発でも、

  • 復旧性
  • 実験性
  • 継続改善

を考えるなら、かなり重要な基盤だと思う。

コメント