Gitは分散型バージョン管理システムで、ファイルの変更履歴を記録し、複数人での開発をスムーズにするためのツールです。
1. Gitの主要な特徴
履歴管理:Gitフォルダ内の変更を監視・追跡し、必要に応じて戻すことが可能。

ブランチ機能:開発の枝分かれを作り、並行作業が容易。

共同作業:GitHubなどのリモートリポジトリと連携し、チーム開発がしやすい。

2. Git Graphという拡張機能をインストールする
VSCodeには初めからGitが組み込まれています。しかし、機能が弱いため拡張機能で補います。

Visual Studio Code の拡張機能マーケットプレイスから Git Graph をインストールしてください。
ブランチ(後述)を作ってからと右から2番目の「view git graph」ボタンをクリックすると、Gitの履歴をグラフ形式で表示できます。
3. フォルダを開いてリポジトリを初期化
Gitのリポジトリとは、ソースコードやファイルの変更履歴を管理するためのデータベースのようなものです。英語の【repository】には保管庫という意味があります。リポジトリには、プロジェクトの全履歴が保存され、開発者は過去のバージョンに戻ったり、複数人での共同作業をスムーズに行ったりできます。
リポジトリにはローカルリポジトリとリモートリポジトリの2種類があります。ローカルリポジトリは自分のPC上にあり、Gitの操作(コミット、ブランチ作成など)はローカルで行えます。一方、リモートリポジトリ(例:GitHub)はインターネット上にあり、チームで共有しながら開発できます。
Gitでは、リポジトリの中に「コミット」と呼ばれる単位で変更履歴を保存します。これにより、過去の状態を簡単に確認したり、元に戻したりすることが可能です。
フォルダを作成し、リポジトリにしてみます。
1.あなたの名前で新規フォルダをデスクトップに作成(例.yusei)
2.フォルダをVSCodeにドラッグ&ドロップして開く
3.VSCode左側の「ソース管理」パネルを開く

4.「リポジトリを初期化する」ボタンをクリックすると .git
フォルダが作成され、そこに変更履歴が保管される

5.「はい、作成者を信頼します」ボタンをクリックする。

6.フォルダ内に「.git」という隠しフォルダができているのがGitの管理下にあることの証拠です

初回コミット前にユーザー設定をする
下記コマンドをターミナルで入力し、ユーザー名とメールアドレスを登録します。"Your Name"と"your_email@example.com"をVSCodeターミナルに貼り付ける場合は右クリックでペーストしてください。
git config --global user.name "Your Name"
git config --global user.email "your_email@example.com"
4. コミット (commit) の流れ
- ファイル作成・変更
- Gitは管理下にあるフォルダを常に監視しているのでソース管理パネルで変更が検出される
- ファイル状態のラベル例:
U
: 未追跡(Untrack)M
: 変更(Modify)D
: 削除(Delete)
- ステージング → メッセージを入力 → コミット
- 変更履歴が保存される
Gitのステージングは、コミット前に変更内容を選別・整理するための領域です。ステージングがあることにより、関連する変更だけをまとめてコミットできます。また、不要な変更を除外することもできます。
5. リセット (reset) と誤った操作の取り消し

- コミット前:対象の変更を選択 → 「変更を破棄」でファイルを元に戻せる
- コミット後:Git Graph画面などで対象コミットを右クリック →
Reset current branch on this commit → Hard
で誤ったコミットを取り消し、ファイルも元の状態に戻す
注意:
--hard
は取り消しが効かないので慎重に使いましょう。
6. ブランチ (branch) の役割
- 「枝」を分けるイメージで、複数の作業を同時並行で進められる
- 初期状態は
main
ブランチ - 左下のブランチ名をクリック → 「ブランチの作成」でブランチを作成
- 別のブランチでは独立した変更履歴で作業可能。切り替えるとファイルの状態も自動的に切り替わる
7. マージ (merge) とコンフリクト (conflict)
マージ:ブランチ同士を合流させる操作
ソース管理 → Git Graph → マージ先(例:main
)を選択 → マージしたいブランチを右クリック → 「Merge into Current Branch」
コンフリクト:同じ行を別々に変更したときに衝突が発生
VSCode 上でどちらの変更を採用するか手動で解決する
9. リモートリポジトリ (GitHub) の利用
- GitHub:Gitを利用したコード管理・共有のためのクラウドサービス
- リモートリポジトリを使うことで、複数人開発や複数拠点作業がしやすくなる
- GitHub での基本的な手順:
- GitHub でアカウントを作成 → リポジトリを作成 (Public / Private)
- VSCode のソース管理パネル → 「リモートの追加」 → URLを入力 → 名前 (例:
origin
) を設定 - 「発行」(= Push)でローカルの変更をGitHubに送信(
main
以外のブランチもプッシュ可能)
10. クローン (clone) とプル (pull)
クローン:他のPCや別メンバーが同じプロジェクトを取得するときに使う
プル:リモート上の新しい変更をローカルに取り込む操作
同じ行を重複修正すると、プル時にもコンフリクトが起こることがある
11. プルリクエスト (Pull Request) と GitHub Flow
直接 main
ブランチを編集しない:トピックブランチで作業 → 作業完了後にプルリクエスト → レビューを経てマージ
マージ後、不要になったブランチを削除してリポジトリを整理
大規模・複数人開発で衝突を最小限にできる実践的なワークフロー
12. VSCode の Git 機能の限界
- VSCodeの基本機能と拡張機能でほとんどの操作が可能
- ただし、複雑なコンフリクト解消や履歴整理にはコマンドラインやGUIクライアント(SourceTree、GitKraken等)が便利
13.その他のGit活用トピック
.gitignore
ファイルを活用する
バージョン管理から除外したいファイルやフォルダを指定するため、リポジトリ直下に .gitignore
ファイルを作成します。
# IDEの設定ファイルやログ、ビルド出力など
.vscode/
node_modules/
*.log
dist/
- 後から
.gitignore
に追加しても、すでに追跡されているファイルは除外されない点に注意 - 追跡を解除する場合は
git rm --cached <ファイル名>
のようなコマンドを使う
コミットメッセージのベストプラクティス
- 要約行(約50文字以内) + 詳細(必要に応じて2行目以降)
- 1コミット1トピック:変更内容が混在しないように
- 動詞から始める:例「Add login feature」「Fix bug in user controller」など
- 履歴を見返した時に何をしたか分かりやすい表現にする
Revert コマンドと Reset の違い
Reset:履歴を過去のコミットに“巻き戻す”
--hard
はファイルも巻き戻すため強力
チーム開発でプッシュ済みの履歴を消すと混乱の原因になるので要注意
Revert:指定コミットを打ち消す“新しいコミット”を作成する
過去の変更を安全に取り消せるため、すでに共有しているリポジトリではRevertが推奨
# 過去のコミットを打ち消すコミットを作る
git revert <コミットID>
14. まとめ
- Git はファイルの変更履歴を細かく管理し、リセットやブランチ、マージなどで開発を柔軟にサポート
- VSCode 上でも拡張機能を活用すれば多くの操作が可能だが、必要に応じてコマンドラインやGUIツールを使うと作業効率が上がる
- GitHub などのリモートリポジトリと組み合わせて、チーム開発や複数拠点での協調作業が容易になる
.gitignore
・stash・revert・rebase などを活用すると、誤操作のリカバリや高度な履歴管理が可能
本テキストを参考に、今後の新人研修のプロジェクトでGitとVSCodeを組み合わせながら操作に慣れていきましょう。