LOG136 — Git の構造
GitとGitHubは、別物だ
Git
GitHub
正体
バージョン管理システム
正体
Gitリポジトリのホスティングサービス
誰が作った
Linus Torvalds(Linux開発者)
誰が作った
民間企業(現Microsoft傘下)
どこで動く
自分のPC上
どこで動く
クラウド(Web)
必須か
✅ 本体
必須か
代替サービスもある(GitLabなど)
習得の優先順位
今すぐやること、習慣にすること、知識として持つこと
TODAY
.gitignore の設定
追跡しないファイルリスト。プロジェクト開始の儀式。ないとGBキャッシュや秘密情報が漏れる。
★★★
必須
HABIT
ブランチを切る
「壊す可能性がある」作業のとき。失敗したら丸ごと捨てられる実験の場。
★★★
習慣化
KNOW
コンフリクト解消
一人開発ではほぼ起きない。チームでは日常茶飯事。rebase / merge の概念だけ知れば十分。
★★☆
知識
LATER
GitHub Actions(CI/CD)
push時に自動テスト・デプロイ。今すぐは不要。チーム規模・複数サービス連携が必要になってから。
★★☆
後回し
FYI
フォーク vs クローン
一人開発ではフォークはほぼ使わない。OSSに貢献するときに初めて意識する機能。
★☆☆
知識
実体験:コンフリクト解消
教科書どおりのエラーが、ターミナルに現れた
1
push → rejected
! [rejected] main -> main (fetch first)
2
rebase で取り込み試みる
git pull --rebase origin main && git push
3
stash → pull → push → pop
git stash && git pull --rebase origin main && git push && git stash pop
4
コンフリクト発生(.gitignoreが両側に存在)
<<<<<<< HEAD ... ======= ... >>>>>>>
5
reset --hard でGitHub側に完全合わせる
git reset --hard origin/main
6
Python設定だけ追記して push 完了
cat >> .gitignore ... && git commit -m "Add Python rules" && git push
4リポジトリの .gitignore
今日、整備した4つのリポジトリ
r2r2r-content
Robotics_UX
marketing-analysis
r2r2r-scripts
STATUS
✅ 完了
STATUS
✅ 完了
STATUS
✅ 既存
STATUS
✅ 完了
CONTENT
macOS
エディタ
一時ファイル
CONTENT
Unity
Python
macOS
CONTENT
既存設定を維持
CONTENT
Python
macOS
CSV/ログ
GITHUB
✅ push済み
GITHUB
✅ push済み
GITHUB
✅ push済み
GITHUB
ローカル管理のみ
← クリックで詳細表示