【備忘録】ノンプロ研Gitハンズオン振り返り。AIに頼らず自分で操作してみた

生成AI

先日、ノンプロ研で 「Gitハンズオン」 が開催されました。

最近はAntigravityを使い始めて、チャット欄で日本語で指示を出すだけでコミットやマージができてしまいます。
でも、正直なところ
「実際、裏で何が起こっているのか全くわからない……」
「リポジトリの概念ってそもそも何なんだろう?」
という、AI任せの自分に少し不安を感じている状態でした。

AIにおまかせで動くのは便利ですが、 仕組みがわからないまま だとどこかで詰まりそう……。

その中、今回は講師のHirocomさんにより、Gitの講座を無料で開いていただきました。
Hirocomさんはノンプロ研にて「技術ライティング講座」というところで、すでにGit/GitHubの講座を開かれています。

ということで、今回はGit初心者たちがあえて AIに頼らずに自分の手で操作 して、理解を深めることにしました。
その時の手順を自分なりの 備忘録 として残しておきます。

私が所属している [ノンプロ研(ノンプログラマーのためのスキルアップ研究会)] は、ノンプログラマーがITスキルを共に学ぶコミュニティです。
生成AIエージェント実験室も開かれていますし、興味のある方はぜひ覗いてみてください。


スポンサーリンク

今回の講座の流れ

今回のハンズオンでは、以下の手順でGitの基本操作を体験しました。

  1. 新規フォルダーを開いてリポジトリを作成
  2. ファイルを新規作成、編集
  3. コミット、コミットメッセージを記載
  4. 上記を繰り返して 履歴を積み上げる

リポジトリの初期化をやってみた

リポジトリの初期化とは、 特定のフォルダをGitの管理下 に置くための準備作業です。
例えると 「ここが私の仕事場ですよ」と看板を立てて 、活動記録を付ける準備をするようなものです。
Gitで ファイルの変更を追跡 するために、まずその場所を 「Git用」として登録(初期化) する目的で行います。

【1】 練習用フォルダの準備

管理用のフォルダ(例:GitTest)を新規作成し、AntigravityやVS Codeでそのフォルダを開きます。
今回はデスクトップに「GitTest」フォルダを作成しました。

【2】 リポジトリを初期化する

画面左側のサイドバーにある「ソース管理」アイコン(枝分かれしたマーク)を選択し、ソース管理パネル内にある「リポジトリを初期化する」ボタンをクリックします。

【補足】 もし「リポジトリを初期化する」が表示されない場合

すでにそのフォルダ(または上位フォルダ)に .git フォルダが存在していることが原因です。
gitフォルダはそのフォルダと下位のフォルダを管理します。
原則として子のフォルダにgitフォルダを作ることはできません。
真っさらな状態からテストしたい場合は、 エクスプローラーを開いて物理的に .git フォルダを削除 します(Antigravityを一旦終了させてから削除します)。


すると再びボタンが表示されます。

【コマンドで実行する場合】

ターミナルで git init と入力することでも初期化できます。

■ 結果としてどうなるか

フォルダの中に 隠しフォルダである .git が作成されます(先ほどの写真)。
このことによりGitが ファイルの変更を検知 できるようになり、ソース管理パネルに変更されたファイルが表示されるようになります。


初めてのコミット。手順を確認

コミットとは、ファイルを保存して 今の状態を記録 することです。
例えると現在のファイルの状態を 「写真」 のようにパシャリと記録するようなものです。
万が一作業を間違えたり、過去の状態に戻したくなったりした時に、この 記録地点までいつでも戻れる ようにするために実施します。

【1】 ファイルの作成と保存

新しくファイル(例:ReadMe.md)を作成(以下エクスプローラーの右の+をクリック、あるいは右クリックで新しいファイルの作成など)し、内容を書いて保存(Ctrl + S)します。

【2】 変更の検知を確認する

画面左側のサイドバーにある「ソース管理」アイコンを見ると、変更されたファイルの数が数字で表示されます。

【3】 コミットの開始とメッセージ記入

ソース管理パネルの上部にある「コミット」ボタンを押すと、 COMMIT_EDITMSG というファイルが開きます。


ここにコミットの内容を記述します。
1行目をタイトル、1行空けて詳細を書くと見やすくなります。

000 最初のコミット(タイトル)

ReadMe.md作成など(詳細)

【4】 コミットの確定(ここが重要!)

COMMIT_EDITMSG ファイルを 「保存(Ctrl + S)して、閉じる(Ctrl + Wなど)」 ことで、初めて処理が完了します。
保存しただけでは完了せず、ファイルを 「閉じる」 ことで 履歴グラフに反映 されるという点は、初心者がつまづきやすいポイントだと思いました。

■ 結果としてどうなるか

現在のファイルの状態が 「履歴」として正式に保存 されます。
このことにより履歴グラフに最初のコミットが表示されるようになり、 いつでもこの時の状態に戻せる ようになります。


履歴をグラフで「見える化」した

グラフ表示とは、過去のコミットがどのようにつながっているかを 視覚的に確認 する操作です。
例えると、これまでの作業の道のりを 「地図」 のように一目で俯瞰できるようにするものです。
自分がどのような作業を辿ってきたか 全体像を把握 し、ミスがないか、あるいはどこに戻るべきかを判断しやすくするために行います。

【1】 グラフが表示されない時の対応

ソース管理パネルの上部にある三点リーダー(... から 「グラフ」 にチェックを入れることで表示できます。

【2】 コミットID(ハッシュ)について

コミットごとに 固有の「コミットID」 が割り当てられていることを確認しました。
このIDを使って、過去の特定の状態を呼び出したりできます。

■ 結果としてどうなるか

自分の作業履歴が グラフとして可視化 されます。
このことによりいつ・誰が・何をしたのかが 直感的に分かる ようになり、作業の全体像が把握しやすくなります。


ブランチの作成と切り替え。スタッシュも体験

ブランチとは、メインの履歴から枝分かれした 「別の作業部屋」 を作ることです。
例えると、本棚の原本をコピーして、自分専用の 「下書きノート」 を新しく作るようなものです。
本番用のコード(main)を壊す心配なく、 新しい機能の追加や実験的な変更 を安全に試せるようにするために実施します。

【1】 ブランチの作成手順

ソース管理パネルのリポジトリの右にある三点リーダー(... から「ブランチ」→「ブランチの作成」を選び、名前を入力します。
画面左下のブランチ名が表示されている箇所が main から新しいブランチ名に変わったことを確認します。

【2】 ブランチを切り替える

画面左下のブランチ名のところをクリックすることで、別のブランチへ移動できます。

mainブランチは大元のブランチです。

■ 結果としてどうなるか

メインの履歴(main)とは別の 「枝」 が作成されます。
このことにより別のブランチでファイルを編集しても元のブランチには影響を与えなくなり、 独立した環境で自由に実験や開発 ができるようになります。


変更を合流させる(マージ)

マージとは、別のブランチで行った作業を、 本流の履歴(main)に統合 することです。
例えると、下書きノートで完成させた成果を、原本に 「清書」 して合流させるようなものです。
別の部屋で完成させた成果を、最終的な成果物(main)として 正しく反映 させるために行います。

【1】 mainブランチへ移動する

まず、画面左下のブランチ名のところをクリックして、取り込み先である main ブランチに切り替えます。

【2】 マージの実行

ソース管理パネルのリポジトリフォルダの横にある三点リーダー(... から「ブランチ」→「ブランチのマージ…」を選び、合流させたいブランチを選択します。

【3】 マージの完了確認

履歴グラフで作業用ブランチが main に合流したのを見て、すべての作業が完了したことを確認しました。

■ 結果としてどうなるか

枝分かれしていた履歴が 一本に統合 されます。
このことにより作業用ブランチで行った変更がメインのブランチに反映され、プロジェクトの 最新状態として更新 されるようになります。


補足:ファイル名の横に表示される記号の意味

Git操作中に、エクスプローラーやソース管理パネルでファイル名の横に表示される文字の意味を整理しました。

記号単語意味
UUntracked未追跡:新しく作成され、まだ一度もコミットされていない状態
AAdded追加:新規作成され、ステージ(コミット準備)ができた状態
MModified変更:すでに記録されているファイルに編集を加えた状態
DDeleted削除:ファイルが削除された状態
CConflict衝突:同じ箇所が同時に編集され、競合が発生している状態
RRenamed名前変更:ファイル名が変更された状態
SSubmoduleサブモジュール:他のリポジトリが組み込まれている状態

まとめ:仕組みを知ることでAIとも仲良くなれそう

今回、あえて自分の手で一つずつ操作してみたことで、「Antigravityが裏で何をやってくれていたのか」が少しずつ見えてきました。

  • 初期化で履歴の箱を作り、
  • コミットで状態を保存し、
  • ブランチで試行錯誤をして、
  • マージで本流に戻す。

この基本の流れがわかっていれば、次にAIに指示を出す時も、より確信を持って操作できそうです。

以上、ノンプロ研Gitハンズオンの振り返り備忘録でした。

この記事を読んで皆さんの理解が少しでも深まれば幸いです。

コメント

タイトルとURLをコピーしました