GitHub とは
コードをシェアしやすい、Gitリポジトリのホスティングサービス
Pull Requestにより、ソースコードの差分を簡単に確認し、コードレビューを行える。
GitHubとGitの違い
Gitでは、Gitリポジトリというデータの貯蔵庫にソースコードなどを入れて利用します。このGitリポジトリを置く場所をインターネット常に提供しているのがGitHubというサービス。
##GitHubが提供する主な機能
- Gitリポジトリ
- 基本的には無料で何個でもGitリポジトリを作成できる。
- Organization
- アカウントの権限の管理や支払いを統一できる。
- Issue
- 一つのタスクを一つのIssueに割り当てて、トラッキングや管理を行える。
- Wiki
- 開発ドキュメントやマニュアルなどの記載に使用する。
- Pull Request
- pushした変更や機能追加を他の人のリポジトリに取り込んでもらうための要求を出す。
Gitは分散型バージョン管理システム
バージョン管理とは
ソースコードの変更履歴を記録し管理することで、特定の段階まで戻ったり、誤って消してしまったファイルを復活させたり開発の現場に必要な機能を提供する。
集中型と分散型
- 集中型
- リポジトリをサーバに集中させて配置するため、一つのリポジトリしか存在しない。
Subversionなどの集中型は、データが中央のサーバに集中されるので、管理がシンプルな反面、サーバの影響を受けやすい。 - 分散型
- ユーザごとにリポジトリをForkし、Forkしたリポジトリは元とは異なるリポジトリとなり、自分の思うがまま編集できる。Forkとは、GitHub側にある特定のリポジトリを自分のアカウント以下のリポジトリに複製すること。
memo
- @ユーザ名と記述することによりNotificationsを相手に送れる。
- @組織名→Organizationに所属する全員
- @組織名/チーム→チームに所属する全員
- #番号→そのリポジトリのIssue番号のリング
- 興味のあるリポジトリをWatchに登録しておけば、関する情報がNews Feedに流れる。
用語
- Fork - GitHub側にある特定のリポジトリを自分のアカウント以下のリポジトリに複製すること。