ブランチって何? GitHub初心者がAIと一緒に作業フォルダを安全に整理した一日

「ブランチを変更してしまったかもしれない」

AIツールの画面に見慣れない表示が出た瞬間、そんな焦りが走った。ブランチ? 何それ。壊した? 消えた?──そこから、GitHubとの思いがけない格闘が始まった。


目次

きっかけは「よく分からないまま触っていた」こと

AIコーディングツールを使って作業をしていたとき、気づかないうちに「ブランチ」を変更してしまったらしかった。

ブランチとは何か。その時点ではよく分かっていなかった。とにかく「何かを変えてしまった」という不安だけがあった。

こういうとき、知識のないまま焦って操作するのが一番危ない。そこで一度立ち止まり、まずGitとGitHubの基本をちゃんと理解してから動こうと決めた。


まずテスト用の「練習場」を作った

本番で使っている作業フォルダをいきなり触るのは怖い。そこで最初にやったのは、何も入っていない使い捨てのリポジトリを作って、そこで基本操作を体験することだった。

「リポジトリ」というのは、ひとことで言えばGitHubが管理するフォルダのことだ。ファイルの変更履歴もまとめて保存できる。

この練習用リポジトリで、次のことをひととおり試した。

  • ファイルを作って保存する(コミット
  • GitHubに反映させる(プッシュ
  • 作業の分岐を作る(ブランチ
  • 分岐した変更を本流に取り込む提案をする(プルリクエスト
  • 実際に取り込む(マージ
  • 不要になった分岐を消す(ブランチ削除

やってみて初めて、頭で分かるのと体で分かるのは全然違うと実感した。

理解できたのは、こういうことだ。

  • main(メイン)= 本流。正式版を置いておく場所
  • ブランチ= 本流を汚さずに試せる「別作業台」
  • コミット= ローカルへの保存。「ここまでは大丈夫」という記録点
  • プッシュ= そのコミットをGitHubに送ること
  • プルリクエスト(PR)= 「この変更をmainに入れていいですか」という提案
  • マージ= 提案を受け入れて、本流に取り込むこと

この感覚が、操作を通じてようやくつかめた。


本番フォルダに目を向けたら、問題が見えてきた

基本を理解したところで、次は本番の作業フォルダをGitHubでバックアップできる状態にしようと試みた。

ところが、いざ中身を確認してみると、そのまま丸ごとGitHubに上げるのは危険だと分かった。

フォルダの中には、気づかないうちにこんなものが混ざっていた。

  • ブラウザのプロフィールデータ(ログイン情報・履歴・Cookieを含む)
  • キャッシュファイル
  • ローカル専用の設定ファイル
  • tmp_から始まる一時ファイル群

GitHubは基本的にインターネット上にファイルを保存するサービスだ。「プライベートリポジトリ」なら非公開にはなるが、それでもログイン情報などの機微なデータが混入するのは避けたい。

まず安全を確保してから、バックアップを考えるという順番が大事だと気づいた。


ClaudeとCodexで役割を分けた

ここで活用したのが、AIツールの役割分担だ。

  • Claude → フォルダ構成や危険なファイルの傾向を調査・分類する役
  • Codex → 指定された範囲だけを小さく安全に処理する役

ClaudeはCodexに比べて、説明や判断が得意だ。「このファイルは何のために存在するか」「GitHubに出してはいけないものはどれか」を整理するのに向いている。

一方、Codexは「このファイルだけをgit管理対象から外す」「この範囲だけ削除する」といった、小さく限定された実行作業に強い。

調査と判断はClaude、実行はCodex。この分業がうまく機能した。

ここで大事だったのは、「危険なファイルを消す」のではなく、「GitHubに出さない状態を作る」ことだった。


「削除」ではなく「追跡解除」という考え方

ここで学んだ重要な概念がある。

Gitには「追跡」という概念がある。一度Gitに登録されたファイルは、その後削除しても「削除されたこと自体が履歴に残る」。逆に言えば、ファイルをローカルに残しながら、「GitHubには出さない」という状態を作ることもできる。

具体的には、

  1. .gitignore(ギットイグノア)というファイルを作る
    「このパターンのファイルはGitで管理しない」というルールを書いておくファイルだ。
  2. すでに追跡されているファイルは「追跡解除」する
    git rm --cachedという操作で、「ローカルには残すが、Gitの管理対象からは外す」ことができる。

こうして、ブラウザプロフィール・キャッシュ・一時ファイルなどを、ローカルには残しながらGitHubには出さない状態に整えた。

実ファイルを消すのではなく、管理対象から外す。この発想の転換が、安全な整理の鍵だった。


「deleted 300件超」という想定外の課題

整理を進める中で、もう一つ気になることが出てきた。

Gitの状態を確認すると、「deleted(削除済み)」として記録されているファイルが300件以上あった。

最初は「これは全部消していいのでは」と思ったが、実際には単純ではなかった。

内訳を丁寧に見ていくと、3種類のファイルが混在していた。

  • 手作業で削除した不要ファイル──これは削除確定してよい
  • 実は別フォルダに移動しただけのファイル──Git上では「deleted」に見えるが、実際には移動しただけだった
  • まだ削除を確定すべきでない草稿や完成稿──迂闊に消せない

たとえば、PowerPoint由来の画像ファイルは比較的安全に削除確定できた。しかし、記事の草稿・SEO関連ファイル・運用メモなどは、「deleted」に見えていても安易に消すべきではないと判断された。「移動しただけ」のファイルをうっかり削除確定してしまえば、必要なものを失うことになる。

Git管理で本当に大事なのは、容量よりも判断だと実感した瞬間だった。


clean な「main」をGitHubに公開できた

ここまで整理した後、いよいよGitHubへの公開に取り組んだ。

ただし、整理途中の状態で雑にpushするのは危険だ。そこで、

  1. 作業途中の変更を一時退避(スタッシュ
  2. 問題のないクリーンな状態を作る
  3. その状態を基準としてmainブランチを新規作成
  4. GitHubの非公開(Private)リポジトリにpublish

という手順を踏んだ。

「スタッシュ」とは、コミットするほどではないが一時的に保存しておきたい変更を、作業台の「引き出し」に仮置きするようなイメージだ。

この手順を経て、ようやく

  • ローカルの作業フォルダ
  • GitHubのPrivateリポジトリ
  • 安全な基準点としてのmainブランチ

が、はじめてつながった。


今日一番よく分かったこと

一日を振り返って、最も印象に残ったのは次の考え方だ。

「削除より、まず移動」「一括処理より、小分け」

Gitを使うと、ファイルを削除することより「何をどこに置いて、何をGitHubに出すか」を考えることの方がずっと大事だと分かる。

一気に整理しようとすると判断を誤る。小さく限定して、確認しながら進める。この姿勢が、AIツールと一緒に作業するときにも同じく有効だった。

まだ「削除済み」ファイルの残件整理など、宿題は残っている。だが、少なくとも今後の基準点となる安全なmainをGitHubに確保できた。

GitHubは単なるクラウド保存先ではなく、「何を残すべきか」を問い続けるための仕組みでもある──そう思えた一日だった。

本記事は実際の作業体験をもとに整理したものです。GitやGitHubの操作は環境によって表示や手順が異なる場合があります。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

CFP®/1級ファイナンシャルプランニング技能士
公益社団法人 日本証券アナリスト協会認定
・プライマリー・プライベートバンカー
・資産形成コンサルタント
一般社団法人金融財政事情研究会認定
・NISA取引アドバイザー

目次