操作に慣れる前は、本番から離れた場所で、見本を変更して戻す一巡を試します。
このレッスンでは、架空の店舗案内をGitへ記録し、営業時間の差分を見て元へ戻します。
Gitは変更履歴を管理する仕組みです。
macOSかLinuxのターミナルと、Gitが利用できる環境を前提に、コマンドを一行ずつ実行します。
この記事で学ぶこと
- 見本と本番の保存先を分ける
- 履歴に入る対象を確認する
- 外部操作はGitで戻せないと理解する
練習の成功条件を決める
練習環境の目的は、多くの機能を試すことではなく、変更して確かめる一巡を経験することです。
例えば、架空の店舗案内の営業時間を直し、変更前後を比べる作業で十分です。
正解が明確で、ファイルが少なく、外部への公開が不要な題材を選びます。
業務全体を複製すると、設定や秘密情報まで持ち込むことになります。
見本には、短い案内文、架空の料金表、説明用の画像などを使えます。
本物の顧客情報を匿名化したつもりでも、本文中の会社名やファイルの付随情報が残る場合があります。
最初から架空の内容で作る方が確認しやすくなります。
必要なのは実務の規模の再現ではなく、読む・直す・確かめるという工程の再現です。
成功条件は「営業時間だけが変わる」「連絡先は変わらない」「変更箇所を説明できる」のように置きます。
画像や外部サービスを使う必要がなければ追加しません。
準備だけで時間を使いすぎないよう、1つの文章ファイルと説明メモから始めます。
練習で扱うファイルの一覧を自分で説明できることが入口の基準です。
練習の材料には、間違いをすぐ見つけられる短い文章が向いています。
営業時間、店名、連絡先の三項目程度なら、変更対象と維持する情報を照合できます。
長い実案件を複製するより、確認できる小ささを優先して、初回の操作と結果の関係を学びます。
見本には意図的に1箇所だけ直したい部分を置くと、結果を比較しやすくなります。
営業時間以外に誤字や古い情報を大量に混ぜると、AIが追加修正を提案する理由が増えます。
初回は変更の練習へ集中し、次の回に例外を加える順番にすると、どの条件で結果が変わったかを理解できます。
本番と保存先を分ける
本番や共有フォルダの外に新しい練習場所を作ります。
ターミナルで「git --version」を実行し、バージョンが出ることを確認してください。
見つからない場合は、配布手順からGit公式の導入案内を確認します。
この段階では既存案件を使わず、練習のための新規フォルダだけを扱います。
置きたい場所をターミナルで開き、「mkdir 0ku-git-practice」、続けて「cd 0ku-git-practice」を実行します。
一行ごとに結果を見て、失敗したら止めてください。
既に同名フォルダがあれば別の新しい名前を選びます。
「pwd」で現在地を表示し、意図した練習場所であることを確かめます。
「git rev-parse --show-toplevel」を実行します。
ここではGit管理下ではない旨のエラーが期待結果です。
パスが表示されたら既存リポジトリの中なので、そこで初期化せず、その外へ作り直します。
親フォルダの管理状態まで確認するのは、既存案件の履歴と練習を混ぜないためです。
新しい場所で「git init」を実行し、テキストエディタでshop.mdを作ります。
内容は「架空の店舗案内」「営業時間:10時から18時」「連絡先:練習のため省略」の三行です。
保存先を開いて確認し、拡張子が.txtになっていないかも見ます。
以下の配布手順には、コマンドと期待する表示をまとめています。
Gitの記録単位を理解する
最初の状態を履歴へ残します。
「git status --short」でshop.mdだけが未記録として出ることを確認し、「git add -- shop.md」で記録対象に選びます。
続けて「git diff --cached -- shop.md」を実行し、三行の見本だけが追加されることを読みます。
広く全部を追加せず、ファイル名を指定することが練習の約束です。
内容が合えば「git commit -m "練習開始の案内文"」を実行します。
名前やメールが必要というエラーなら、配布手順のプロジェクト内だけの設定を行って再実行します。
練習用の名義を使い、全プロジェクトへ適用する設定は変更しません。
コミットが失敗したまま、保存できたと考えないことが重要です。
「git log -1 --oneline」で履歴が一件表示され、「git status --short」が何も表示しなければ開始状態を記録できています。
その後、エディタで営業時間の10時だけを11時へ変更します。
「git diff -- shop.md」で、古い行と新しい行の違いを確認してください。
店名や連絡先も変わっていたら、依頼より広い修正になっています。
履歴の区切りは一つの目的に対応させます。
営業時間変更と全体の書き直しを同時に記録すると、一方だけ見直したいときに判断が難しくなります。
Gitへ記録していない新規ファイルや、外部へ送信した情報は、この履歴から元へ戻るものではありません。
何を保存したかが分かる小さな記録から始めましょう。
記録しない情報を選別する
秘密情報は、後で隠すのではなく最初から練習場所へ置かない方針にします。
接続用の鍵、パスワード、個人情報、顧客との非公開契約などは、文章修正の練習に不要です。
設定ファイルの名前だけで判断せず、中身に認証情報が含まれていないかを確認します。
必要な設定例は、実際の値を含まない見本として別に用意します。
Gitの除外設定は、記録対象から外したいファイルを示す仕組みです。
ただし、それはAIに読ませないための権限設定ではありません。
また、すでに履歴へ入った情報を後から除外しても、過去の記録が自動的に消えるわけではありません。
除外、読み取り制限、秘密の保管は目的が違うと区別してください。
誤って秘密情報を記録した疑いがある場合は、そのまま共有や送信を進めません。
影響範囲の確認や認証情報の無効化など、組織の手順に従って対応します。
初学者の練習では、問題を自力で隠す操作を続けるより、状態を保存して管理者へ相談できる情報を整理します。
練習環境の小ささは、このような混乱を避けるためにも役立ちます。
共有前には、新しく追加したファイルも一覧で確認します。
原稿自体に秘密がなくても、同じ場所へ置いた設定や出力記録に含まれる場合があります。
不要なものを後から探し出すより、練習用の見本だけを入れる構成にすると、確認すべき対象を把握しやすくなります。
ファイル一覧を確認するときは、通常の画面で見えにくい設定ファイルも対象にします。
名前に秘密と書かれていなくても、接続情報が入る場合があります。
中身を不用意に会話へ貼る必要はありません。
必要な設定の有無を確認し、実値を使わない見本に置き換えられるかを判断します。
戻す練習で復旧範囲を知る
ここでは、コミット後に変更したshop.mdだけを開始状態へ戻します。
まず「git diff -- shop.md」を読み、捨てる変更が営業時間の一行であることを確かめます。
残したい修正がある場合はこの操作を実行しません。
戻す操作は、そのファイルの未コミットの変更を失わせるため、対象と現在の内容を先に確認します。
練習では変更後にgit addをしていない状態で、「git restore --source=HEAD --worktree -- shop.md」を実行します。
HEADは最後のコミットを指し、worktreeは手元のファイルへ反映する指定です。
対象はshop.mdに限られます。
ただし、ファイル内の一行だけを選ぶ命令ではないので、同じファイルの別の未記録修正も戻ります。
「git diff -- shop.md」が空になり、本文を開くと10時へ戻っていることを確かめます。
店名と連絡先も照合してください。
誤って変更後の状態を追加対象へ選んだ場合は、配布手順にあるステージ解除を先に行います。
コミットまで進めた場合は開始地点が変わるため、この練習の戻し方をそのまま流用しません。
最後に「git status --short」とファイルの実物を両方見ます。
見覚えのない変更や新規ファイルが残っても、まとめて消す操作はしません。
誰の何の変更かを調べ、今回の営業時間変更と分けて扱います。
完了記録には、開始時の履歴、変更した一行、戻した後の確認結果を残すと、次回も同じ手順で練習できます。
実践課題
実践課題:一度変更して戻す
専用フォルダでshop.mdの開始状態をコミットし、10時を11時へ変更してから戻します。
下の手順書を開き、一行ずつ実行してください。
戻す前に、捨ててよい変更が営業時間だけであることを確認します。
- git init後、shop.mdだけをgit addで選び、差分を確認します。
- 初回コミットとgit logの履歴を確認します。
- 営業時間を変更し、git diff -- shop.mdで一行の差を読みます。
- ファイルを限定して復旧し、10時に戻った本文と空の差分を確認します。
架空の記入例:「初期値は10時開店、修正値は11時開店。変更されたのは営業時間の1行だけ。開始状態に戻した後、店名と案内文を含めて初期内容との一致を確認できた。」
自己確認
- 本番や共有資料を触っていない
- 開始状態の記録が確認できる
- 戻す対象と結果を説明できる
まとめ
練習環境は、変更して確かめて戻すための小さな仕事場です。
Gitの履歴とファイルの実物を合わせて見ると、何が記録されているかを理解できます。
次の編集へ進む前に、秘密情報のない題材で復旧を一度試してください。
- 見本と本番の保存先を分ける
- 履歴に入る対象を確認する
- 外部操作はGitで戻せないと理解する






