GitHubとリモートリポジトリ: クラウドでのコード管理
ローカル作業からチーム開発へ: remoteの概念、ローカルリポジトリとGitHubの連携方法、push・pull・fetchの違いについて解説します。これらのコマンドはよく混同されがちですが、それぞれの役割を明確に説明します。また、就職活動でも必須スキルであるSSHキーを使った認証設定についても詳しく取り上げます。
- GitHubでリポジトリを作成し、ローカルプロジェクトと連携して変更をpushで公開できるようになります。
- fetchとpullの違いを理解し、チーム開発で適切に使い分けられるようになります。
- プロフェッショナルが行う方法で、パスワード不要のSSH認証をGitHubに設定できるようになります。
Simula ng leksyon
なぜリモートリポジトリが必要なのか?
- ローカルリポジトリ:自分のパソコン内のみ
- リモートリポジトリ:チームのためのクラウドストレージ
- 全員が同じ場所で変更を確認・追加できる
- インターネット経由でリアルタイムに同期可能
個人開発であれば、ローカルのGitリポジトリで十分です。しかし、チームで開発する場合、共通の作業スペースが必要になります。リモートリポジトリは、全メンバーがアクセスできるコードの一元管理場所となります。これは、複数人で同時編集が可能なGoogle ドキュメントのようなものです。チームメンバーの変更をリアルタイムで確認し、プルリクエストを通じてコードレビューを行い、異なる機能を並行して開発できます。リモートリポジトリがなければ、ファイルのバージョン管理は混乱し、メールでのファイル送受信が頻繁に行われることになるでしょう。
ローカルリポジトリとリモートリポジトリの関係
- Origin:デフォルトのリモートリポジトリ名
- Push:変更をサーバーに送信
- Pull:サーバーから変更を取得
- 各リポジトリは独立し、完全な履歴を保持
ローカルリポジトリとリモートリポジトリは、「push」と「pull」の2つのコマンドでデータをやり取りします。デフォルトでは、メインのリモートリポジトリは「origin」と呼ばれます。ただし、これは単なるファイルのコピーではありません。各リポジトリは独立しており、完全な変更履歴を含んでいます。ローカルでコミットした内容は、pushコマンドで送信するまで自分だけのもの。また、チームメイトがコードを更新した場合は、pullコマンドで最新の状態に同期する必要があります。
1つのローカル、複数のリモート
- 複数のリモートリポジトリを接続可能
- Origin — GitHub上の個人用フォーク
- Upstream — プロジェクトの元リポジトリ
- 変更を簡単に同期可能
プロジェクトは複数のリモートリポジトリに同時に接続できます。例えば、originはGitHub上の個人用フォーク、upstreamはメインプロジェクトのリポジトリです。この構成により、元のソースから簡単に更新を取得しながら、自分のコピーに変更を加えることができます。これは、フォークを最新の状態に保つ必要があるオープンソースプロジェクトで特に便利です。いつ、どの変更をupstreamから自分のoriginに取り込むかは自分で決められます。リモートリポジトリの仕組みを理解したところで、GitHubに自分のリポジトリを作成しましょう。
# 新しいリモートリポジトリを追加
git remote add upstream https://github.com/original/project.git
# すべてのリモートリポジトリを表示
git remote -v
# upstreamからローカルブランチに変更を取得
git fetch upstream
git checkout main
git merge upstream/main
# 変更を自分のoriginにプッシュ
git push origin main
Buong leksyon ay para sa subscription
30 pang slide sa buong bersyon.
Mabubuksan ang video, lahat ng slide, tala, pagsusulit, AI tutor, at interview pagkatapos mag-sign in at mag-subscribe.
Mag-sign in o magparehistro Mag-subscribeNilalaman ng leksyon
- なぜリモートリポジトリが必要なのか?
- ローカルリポジトリとリモートリポジトリの関係
- 1つのローカル、複数のリモート
- GitHubで新しいリポジトリを作成
- READMEとライセンス - 最初のコミット
- ローカルリポジトリとGitHubを連携する
- リポジトリのクローンとは?
- クローンの2つの方法:HTTPSとSSH
- 実践:リポジトリをクローンする
- クローン後の設定を確認
- GitHubでパスワード認証が非推奨な理由
- SSHキーの仕組み
- SSHキーの作成方法
- GitHubにキーを追加
- コードをクラウドに送信: git push
- アップストリームブランチの設定
- プッシュ時のコンフリクト解決
- Git pull: クラウドとの同期
- git pullの内部動作
- git pullでよくある問題
- git pullが危険な理由
- Git fetch:安全な変更の取得
- 実践:fetchで変更を確認する
- fetchをpullの代わりに使用する場面
- 他人のブランチへのPush:プロセスを壊す理由
- 正しい方法:変更用に独自のブランチを作成
- 静かなる惨事:プルがあなたの変更を消し去るとき
- 救世主コマンド:git stashの活用
- GitHub:あなたのコードのためのクラウド収納
- SSHキーの設定:デジタルパスポート
- フォークからプルリクエストまで:チーム開発の流れ
- プルリクエスト:通常のプッシュとの違い
- まとめと課題
Mga artikulo tungkol sa araling ito
- Git at GitHub: ano ang pagkakaiba at paano sila magkaugnay
- git fetch at git pull: ano ang pagkakaiba at alin ang piliin
- Mga command ng Git: cheat sheet na may mga halimbawa para sa araw-araw
- Git repository: paano gumawa gamit ang git init at ikabit ang remote
- git clone: paano i-clone ang repository mula sa GitHub at iba pa
Lahat ng leksyon ng kurso
- はじめに:ゼロから始めるGit - 自信を持って使える開発者を目指して
- Gitはなぜ必要なのか?~採用で求められるスキル~
- インストールとセットアップ:Gitの初回起動準備
- 最初のリポジトリ: init、add、commit、そしてインデックスの魔法
- Git履歴の読み方: log, diff, showと過去の履歴を辿る
- ブランチ: コードの並行現実
- ミスをなかったことに:restore、reset、revert ─ 正しい使い方と危険な落とし穴
- GitHubとリモートリポジトリ: クラウドでのコード管理
- チームワーク:フォーク、フィーチャーブランチ、プルリクエスト
- マージコンフリクト:慌てずに理解して解決する
- 実践的なチーム開発におけるGitワークフロー:最適な選択方法
- 上級者向けツール:rebase、stash、cherry-pick、タグ
- 最終プロジェクト:実際のチーム開発をシミュレートする