Skip to content

Latest commit

 

History

26 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Zero to One: Git / GitHub チーム開発

Gitを初めて使う人が、「コマンドを暗記する」のではなく、今どこにいて何を動かしているかを理解しながら、Issue → Branch → Commit → Pull Request → Review → Merge を一周するための日本語教材です。

この教材で一番大事な地図

Issue(何をするか)
  ↓
Branch(作業を分ける)
  ↓
Worktree(編集する)
  ↓ git add
Staging(次のcommitに入れる変更を選ぶ)
  ↓ git commit
Local repository(履歴として記録する)
  ↓ git push
GitHub / Pull Request(共有・レビュー)
  ↓ Merge
main(確認済みの変更を統合)

Git / GitHub / gh は何が違う?

名前 役割 代表例
Git 変更履歴・branch・commit・remoteとの同期を扱う仕組み git status, git add, git commit, git fetch, git merge
GitHub Gitの履歴を共有し、Issue・PR・Review・Actionsなどで協働するサービス GitHub Web UI
gh GitHubをターミナルから操作する公式CLI gh issue, gh pr, gh repo, gh run

ghはGitを置き換えるものではありません。例えば、編集した変更をstagingしてcommitするのはGitの仕事です。一方、IssueやPRを作る、PRの状態を見る、GitHub上でmergeする、といった操作はWeb UIでもghでもできます。

一部は同じ結果へ別の入口があります。

やりたいこと Git / Web UI gh
GitHub repoをclone git clone <URL> gh repo clone OWNER/REPO
Issueを作る GitHubのIssues画面 gh issue create
Issueを見る GitHubのIssue画面 gh issue view <番号>
PRを作る GitHubのPull requests画面 gh pr create
PRの状態を見る GitHubのPR画面 gh pr status, gh pr checks
PRをmerge GitHubのMergeボタン gh pr merge --merge

この教材ではGit・Web UI・ghの対応を示します。最初は使いやすい入口で一周し、別の入口でも同じ対象を扱えることを確認してください。両方でIssueやPRを重複作成する必要はありません。AIに操作を任せて進めても構いません。

対象

  • Gitを初めて使う人
  • 個人開発からチーム開発へ進む人
  • GitHubを使う授業・卒業制作・開発チームへ参加する人
  • AIにGit操作を任せる場合でも、状態と差分を自分で確認できるようになりたい人

前提は、ファイル操作とターミナルの基本だけです。

学習順序

テーマ ゴール
0 環境準備・GitHub認証 Gitとghを使える環境を作る
1 なぜGit/GitHubを使うか Git / GitHub / ghの役割を説明できる
2 Gitの地図 Worktree / Staging / Commit / Branch / HEADを説明できる
3 IssueとBranch IssueをWeb/ghで扱い、作業ブランチを作れる
4 普段の開発フロー IssueからMergeまで進められる
5 fetch・merge・conflict リモートとの差と競合を安全に扱える
6 復旧 状況に応じてrestore / reset / revertを選べる
7 PRハンズオン Web UIとghの両方でGitHub上の状態を確認できる
8 conflict / revert演習 意図的な失敗から自力で戻せる
9 発展 Fork / upstream / squash / rebaseを区別できる
10 AIと進める開発 依頼の範囲を決め、差分・検証結果から採否を判断できる

自分に合う進め方

  • 操作を体験して学ぶ:第0〜8章を順に進め、第9・10章で応用する。
  • AIと一緒に学ぶ:第0〜2章で準備と状態の意味を押さえ、第10章の依頼例で第7章を進める。Issue・レビュー・復旧で迷ったら第3〜6章へ戻る。

どちらも到達点は「目的・変更範囲・確認結果・戻し方を説明できること」です。コマンドの手入力回数は評価しません。

迷ったら クイックガイド を開いてください。

ハンズオンの始め方

基本編は、自分専用の練習リポジトリで行う前提です。教材管理者がこのリポジトリをTemplate Repositoryとして設定している場合は、GitHubの Use this template から自分のリポジトリを作成してください。

Templateが使えない環境では、授業担当者が用意した練習リポジトリを使用してください。Forkは基本編では使わず、第9章で扱います。

Important

公開リポジトリのプロフィール演習では、本名である必要はありません。学籍番号、個人メールアドレス、電話番号、住所などの個人情報は書かないでください。

基本編のルール

  • 作業前と迷ったときは git status
  • mainへ直接作業しない
  • 1つのIssueに対して1つの作業ブランチ
  • commit前に git diff --staged
  • GitHub上の操作は、Web UIとghのどちらでも同じ対象を操作していることを意識する
  • 基本編のPRは Create a merge commit で統合する
  • 共有済みのcommitを取り消すときは、原則 git revert
  • reset --hard と force push は、意味が分からない状態では実行しない

AIを使う場合

AIには編集・Git操作・PR作成まで任せられます。人間は目的と完了条件を決め、実際の差分と検証結果を見て採用を判断します。細かい操作ごとの確認は、最初に合意した作業範囲に応じて省けます。

git statusがcleanでも、AIが作ったcommitが正しいとは限りません。 未commitの編集と、commit済みの変更は確認方法が違います。

確認したいもの 確認方法
現在のbranch・未追跡ファイル git status / git branch --show-current
未stagingの変更 / staging済みの変更 git diff / git diff --staged
mainとの分岐後のcommit済み変更 git fetch originの後、作業branchでgit diff origin/main...HEAD
GitHubへ提出した変更 PRのFiles changed または gh pr diff
実行した検証と未確認事項 PR本文の具体的な結果、CIログ、必要な動作確認

新規ファイルの中身は、未追跡の間は通常のgit diffに出ません。ファイルを開くか、対象をgit addしてgit diff --stagedで確認します。

依頼例、確認手順、AIと人間が同時に作業する場合の注意は 第10章:AIと進める開発 にまとめています。

公式資料

リポジトリ管理者向け

教材リポジトリ自身の推奨設定は REPOSITORY_SETTINGS.md にまとめています。

License

MIT License

About

GitHubでチーム作業を始める前に押さえたい、Git・Issue・ブランチ・PR・レビューの基本を学ぶ日本語ガイド。

Topics

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors