← 日々のこと一覧

日々のこと

AIを使う人こそGitに触れておきたい|GitHubで仕事の履歴を残す方法

GitGitHubAI活用仕事の仕組み化
AIを使う人こそGitに触れておきたい|GitHubで仕事の履歴を残す方法

よりみちFIREへようこそ。FIREまで、今日も寄り道しながら考えていきます。

「最終版」「最終修正版」「本当の最終版」「最終版_v3」。

パソコンの中に、こんな名前のファイルが増えていないでしょうか。しばらく時間がたってから開くと、どれが本物なのかわからなくなる。以前の状態へ戻したいのに、どのファイルを使えばよいのか判断できない。これは、文章を書く人なら一度は経験する悩みだと思います。

最近、GitとGitHubについて調べました。これまでは「コードを書く人の道具」という印象でしたが、AIを使って複数のファイルやフォルダーを扱うようになると、私にも必要な考え方だと感じました。

AIに仕事を頼むほど、フォルダー全体の履歴が必要になる

文章だけなら、GoogleドキュメントやWordの版の履歴で足りることがあります。しかし、AIに「この企画の資料をまとめて」「ブログと動画の制作フォルダーを整理して」と頼むと、動くのは原稿だけではありません。

参考資料、目次のメモ、画像、設定ファイル、出力物。複数のファイルが同時に作られたり、書き換えられたりします。

AIに指示を出したあと、「少し変になったので、さっきの状態に戻したい」と思う場面もあります。ファイルを一つずつ探して差し替える方法では、戻し忘れが起きます。

AIがフォルダー単位で仕事をするなら、履歴もフォルダー単位で残したい。

ここでGitの考え方が役立ちます。Gitは、フォルダーの中身がどう変わってきたかを記録する仕組みです。Googleドキュメントの版の履歴を、複数ファイルが入ったフォルダー全体へ広げたようなイメージです。

GitとGitHubは何が違うのか

名前が似ているので混乱しますが、役割は分けて考えるとわかりやすくなります。

Gitは、ファイルやフォルダーの変更履歴を記録する仕組みです。自分のパソコンの中でも動きます。

GitHubは、そのGitで管理しているものをインターネット上で保存したり、他の人と共有したり、変更を確認したりするためのサービスです。

たとえるなら、Gitが本の編集履歴を残す仕組みで、GitHubはその本の制作室をオンラインに用意する場所です。

調べる前はGitHubという名前ばかりが目に入っていました。実際には、Gitという履歴管理の仕組みと、GitHubという共有・管理の場所を分けて考えることが、最初のポイントでした。

本の編集にたとえたGitの基本概念

本の編集にたとえると、5つの言葉が見えてくる

リポジトリは、作品に関係するものを全部入れたフォルダー

リポジトリは、Gitで履歴を管理する単位です。

本を作るなら、本文のWordファイルだけではありません。参考資料、目次のメモ、表紙のラフ、画像なども関係します。それらをまとめた作品用のフォルダーが、リポジトリです。

コミットは、ゲームのセーブポイント

コミットは、その時点の状態を保存することです。ゲームで「ここでセーブしておこう」と記録する感覚に近いです。

AIに大きな修正を頼む前にコミットしておけば、うまくいかなかったときに修正前の地点へ戻りやすくなります。何を、いつ、なぜ変更したのかも、メッセージとして残せます。

ブランチは、別案を試すための枝

今の原稿を残したまま、章を大きく書き直したい。そんなときに使うのがブランチです。本線から別の枝を作り、その枝で試します。

うまくいけば採用し、合わなければ枝を捨てる。本線を壊さずに実験できるのが便利です。

mainは、採用した変更が並ぶ本線

mainは、完成版や正式版を置く本線です。試作中の変更を直接混ぜず、確認したものだけを合流させる運用にします。

プルリクエストは、本線へ入れる前の提案書

プルリクエスト、略してPRは、「この変更を本線に入れてよいですか」と提案する仕組みです。変更内容を確認してから合流させられるため、複数人で作業するときの衝突も減らせます。

一人で使う場合でも、AIに作業を頼んだあと、自分が変更点を確認する区切りとして使えます。

私のAIカンパニーにも、Gitの考え方が必要だった

私は現在、AIカンパニーを作るつもりで、ブログ編集部や動画制作部など、役割ごとのフォルダーを作っています。部署ごとにMarkdownの手順書を置き、制作した記事、画像、動画の材料を整理しています。

これは、AIに毎回同じ説明をするのではなく、手順を残して次の作業へ引き継ぐためです。

ただ、フォルダーとファイルが増えるほど、「いつ、どこを変えたか」が見えにくくなります。AIが手順書を直し、記事を修正し、画像を追加する。その積み重ねを戻せるようにするには、ファイル名を変えて保存するだけでは足りません。

AIカンパニーを育てるなら、部署の手順書だけでなく、その変更履歴も会社の記録になります。

Gitを使えば、手順書を変えた理由や、制作フォルダーがどう育ってきたかを残せます。将来、別のAIモデルへ仕事を引き継ぐときにも、チャットの履歴だけに頼らずに済みます。

最初から大きな開発を始めなくていい

Gitというと、黒い画面に難しいコマンドを入力する姿を想像していました。実際には、GitHub Desktopのような操作画面や、AIに作業を説明して実行させる方法もあります。もちろん、細かな作業ではコマンドを使う場面もありますが、最初から全部を覚える必要はありません。

始めるなら、次のような小さな流れで十分です。

  1. GitHubのアカウントを作る
  2. まずは非公開のリポジトリを作る
  3. ブログやメモなど、小さなフォルダーを一つ選ぶ
  4. 最初の状態をコミットして、変更の区切りごとに保存する

最初から会社全体のフォルダーを管理しようとすると、設定だけで疲れます。文章、画像、手順書のどれか一つを選び、変更履歴が残る感覚をつかむ方が続きます。

Gitを小さく始める4ステップ

最低限の操作は、保存・送信・受け取りの3つ

実際にGitを使うと、いくつかの英単語が出てきます。最初から暗記する必要はありませんが、役割だけ知っておくとAIへ指示を出しやすくなります。

git status は、今どのファイルが変更されているかを確認する操作です。作業前後の体温計のようなものです。

git add は、次のセーブに含めるファイルを選びます。変更したファイルを、セーブ用のトレイに載せるイメージです。git commit は、そのトレイに載せた変更を、名前付きのセーブポイントとして確定します。

コミットしただけでは、基本的にセーブポイントは自分のパソコンの中にあります。GitHubへ送る操作が git push です。反対に、すでにGitHubとつながっているプロジェクトへ、他の場所で行われた変更を取り込む操作が git pull です。

まだ自分のパソコンにプロジェクトがないとき、GitHubから最初に丸ごと持ってくる操作が git clone です。

コミットは手元へのセーブ、プッシュはGitHubへのバックアップ、プルはGitHubからの受け取りです。

この3つの関係がわかると、GitHubが単なるファイル置き場ではなく、履歴付きの共有場所だと見えてきます。

戻すときは、いきなり消さずに履歴を確認する

履歴を残せるからといって、何でも気軽に消してよいわけではありません。まず git log で過去のコミットを確認し、どの時点を見たいのかを決めます。

過去の状態を一時的に確認するだけなのか、現在のファイルへ戻したいのかでも操作は変わります。GitHubへ共有済みの履歴を打ち消す場合は、元の履歴を消すのではなく、変更を打ち消す新しいコミットを作る revert が使われることがあります。

一方、git reset --hard のように未保存の変更まで消す可能性がある操作もあります。意味を理解しないまま実行せず、変更前に git status を確認し、必要ならバックアップを作ってから進めることが大切です。

Codexには、実行より先に確認を頼む

AIを使うと、Gitの操作を自然な日本語で依頼できます。たとえば、次のような頼み方です。

このフォルダーのGitの状態を確認してください。まだ変更は加えないでください。
今回の差分を説明してください。コミットや公開はまだ実行しないでください。
この変更を新しいブランチで試してください。実行した操作と変更ファイルを最後に報告してください。

大事なのは、AIにすべてを任せて終わりにしないことです。対象フォルダー、変更内容、公開範囲を確認してからコミットする。GitHubへプッシュする。プルリクエストを本線へ合流させる。確認、実行、報告の順序を決めておくと、AIとの作業が安全になります。

GitHubのリポジトリをAIに読ませる場合も、まずREADMEを確認し、セットアップ方法とライセンスを読んでから進めます。公開リポジトリにあるからといって、素材やコードを自由に使えるとは限りません。

Gitは、失敗をなかったことにする道具ではない

Gitを使えば、何をしても安全になるわけではありません。誤ったファイルを保存することもありますし、秘密情報をリポジトリへ入れてしまう危険もあります。公開範囲の設定や、保存してはいけない情報のルールは別に必要です。

それでも、変更前の状態へ戻る道があり、どこで何が変わったかを確認できるだけで、AIに仕事を頼む怖さは小さくなります。

AIに大きな変更を任せる前にコミットする。まとまった作業が終わったらコミットする。試すときはブランチを作る。この3つだけでも、仕事の見通しは変わります。

自分が言いたかったこと

GitとGitHubを調べて、私は「コードを書く人だけの道具」だと思い込んでいたことに気づきました。

AIは、文章一つではなく、フォルダーの中に複数の成果物を作ります。だからこそ、作ったものを残すだけでなく、変わってきた過程も残しておきたい。AIカンパニーを本当に育てるなら、部署や手順書を作るだけでなく、変更を戻せる仕組みも必要です。

AIに任せる仕事が増えるほど、履歴を残す力が自分の仕事を守ります。

今日からいきなり専門家になる必要はありません。まずは小さなフォルダーを一つ選び、名前を変えて保存するやり方から、履歴を残すやり方へ移ってみます。

今日も、FIREまで寄り道しながら。自分たちの選択肢を、一つずつ増やしていきます。