Git:初心者から自信を持って使える開発者へ

チーム開発で自信を持って作業し、プロジェクトの履歴を適切に管理し、技術面接でもしっかり対応できるようGitを習得します。初コミットから、実際のリポジトリでのプルリクエストまでを実践的に学びます。

13 レッスン 5時間 43分 サブスク特典
対象者
何らかの言語でコードを書き始めた初心者プログラマーで、バージョン管理システムを本格的に扱った経験がない方、またはGitの知識が表面的で、就職活動前に知識を整理して実践力を高めたい方を対象としています。
必要条件
コマンドラインの基本的な操作スキル:ディレクトリの移動、ファイルの作成・削除。何らかの言語で簡単なコードを書けること。言語の種類は問いません。重要なのは、すでに何かしらのプログラミング経験があることです。

コースカリキュラム

13 レッスン
1
入門 はじめに:ゼロから始めるGit - 自信を持って使える開発者を目指して
7 分
無料 視聴
Gitはなぜ必要なのか?~採用で求められるスキル~
コマンドの説明からではなく、バージョン管理の必要性から始めます。「project_final_2」「project_final_REAL_FINAL」といったフォルダの山、間違ってファイルを削除してしまう恐怖...。この講義では、Gitが解決する具体的な問題、業界標準となった理由、採用担当者がGitHubプロフィールで何を確認しているのかを理解できます。
バージョン管理システム 変更履歴の管理 分散型アーキテクチャ
22 分
登録後
インストールとセットアップ:Gitの初回起動準備
Windows、macOS、LinuxでのGitのインストール方法を解説します。ユーザー名とメールアドレスの設定が単なる形式ではなく、コミット履歴の一部として重要な理由を説明します。また、長いコマンドに悩まされず、初日から快適に作業できるよう、使いやすいターミナルの設定や便利なエイリアスの設定方法もご紹介します。
Gitのインストール git config グローバル設定
18 分
最初のリポジトリ: init、add、commit、そしてインデックスの魔法
最初のリポジトリを作成し、多くの人が長年理解できずにいるコンセプト、ステージングエリア(インデックス)と出会います。ワークツリーと履歴の間にあるこの「中間レイヤー」がなぜ必要なのかを解説し、add → commitという2段階のシステムが、無作為ではなく意図的で意味のあるコミットを実現する理由を具体例を交えて説明します。
リポジトリ ステージングエリア コミット
28 分
Git履歴の読み方: log, diff, showと過去の履歴を辿る
プロジェクトの履歴は、単なるログではなく、意思決定のドキュメントです。このレクチャーでは、コミットをフィルタリングしたり、バージョン間の変更点を確認したり、SHA-1ハッシュを恐れずに理解したりする方法を学びます。特に、チーム内での評価に直接影響する「良い履歴」と「ゴミのような履歴」の見分け方について詳しく説明します。
コミットハッシュ git log git diff
25 分
ブランチ: コードの並行現実
ブランチはGitの心臓部であり、多くの初心者が恐れを抱く部分でもあります。本講義ではブランチの神秘を解き明かします:ブランチが単なるポインタであり、ファイルのコピーではないことを示します。実際の例を用いて、ブランチの作成方法、ブランチ間の切り替え、変更のマージ方法を解説し、さらにfast-forwardマージと3-wayマージの違いについても詳しく説明します。
ブランチ HEAD マージ
32 分
ミスをなかったことに:restore、reset、revert ─ 正しい使い方と危険な落とし穴
面接でも実際の仕事でも最もよく求められるトピックの1つが、すでに行った変更の取り消し方です。このレクチャーでは、異なる「深さ」で変更を取り消す3つのツールを詳しく解説し、特に重要なポイントに焦点を当てます。reset --hardがチームワークを破壊してしまう具体的なシナリオや、その安全な代替手段であるrevertの活用法を紹介。良い解決策と悪い解決策を、実際の結果とともに検証します。
git restore git reset git revert
30 分
GitHubとリモートリポジトリ: クラウドでのコード管理
ローカル作業からチーム開発へ: remoteの概念、ローカルリポジトリとGitHubの連携方法、push・pull・fetchの違いについて解説します。これらのコマンドはよく混同されがちですが、それぞれの役割を明確に説明します。また、就職活動でも必須スキルであるSSHキーを使った認証設定についても詳しく取り上げます。
リモートリポジトリ origin push / pull / fetch
27 分
チームワーク:フォーク、フィーチャーブランチ、プルリクエスト
このセクションでは、オープンソースプロジェクトや企業チームの90%が採用している開発フローを解説します。フォーク → フィーチャーブランチ → コミット → プルリクエスト → コードレビュー → マージという一連の流れを実践的に学びます。特に、レビュアーがすぐに文脈を理解できるPRの書き方や、初心者にありがちなミスを避けるためのポイントを詳しく解説します。
フォーク プルリクエスト コードレビュー
33 分
マージコンフリクト:慌てずに理解して解決する
コンフリクトは初心者を怖がらせますが、このセクションを終えると落ち着いて対処できるようになります。コンフリクトが発生する理由(Gitは心が読めないので、どの変更がより重要かを判断できません)、コンフリクトマーカーの読み方、適切な解決方法の選び方を解説します。手動での解決とマージツールの使用という2つのアプローチを紹介します。
マージコンフリクト コンフリクトマーカー コンフリクト解決
28 分
実践的なチーム開発におけるGitワークフロー:最適な選択方法
面接で「どのようなGitワークフローを使用していましたか?」と聞かれることはよくあります。このセクションを学べば、自信を持って詳細に答えられるようになるでしょう。Feature Branch Workflow、Git Flow、Trunk-Based Developmentの3つの主要なアプローチを比較検討し、それぞれのメリット・デメリットと適切な使用場面について解説します。
Feature Branch Workflow Git Flow Trunk-Based Development
23 分
上級者向けツール:rebase、stash、cherry-pick、タグ
Gitの基本を理解している人と、自信を持って使いこなせる人を分ける上級ツールを学びましょう。rebaseをmergeの代替として、歴史をクリーンにするケースと複雑化させるケースを解説します。作業中の変更を一時的に保存するstash、特定のコミットを選択的に取り込むcherry-pick、リリースをマークするタグの使い方を習得します。
git rebase git stash git cherry-pick
35 分
最終プロジェクト:実際のチーム開発をシミュレートする
学んだすべてを実践的なシナリオで活用します。あなたは小規模チームの開発者として、新機能の追加、バグ修正、リリースを行います。リポジトリ作成、ブランチ作業、プルリクエスト、意図的に作られたコンフリクトの解消、履歴を整理するためのリベース、最終的なリリースタグ付けというフルサイクルをステップバイステップで体験します。最後には、雇用主に見せられる実際のリポジトリが手元に残ります。
Gitフルワークフロー チーム開発 リリースサイクル
35 分