GitHub

ソフトウェア開発のプラットフォーム ウィキペディアから

GitHub

GitHub(ギットハブ)は、ソフトウェア開発プラットフォームであり、ソースコードホスティングする。コードのバージョン管理システムにはGitを使用する。Ruby on RailsおよびErlangで記述されており、アメリカカリフォルニア州サンフランシスコ市に拠点を置くGitHub社によって保守されている。主な開発者はクリス・ワンストラスP.J.ハイエットトム・プレストン・ワーナー英語版である[4]

概要 URL, 言語 ...
GitHub
Thumb Thumb
Thumb
GitHub Docsのリポジトリ。リポジトリはソースコードを蓄えます。
URL github.com
言語 英語
タイプ 協調的バージョンコントロール
運営者 GitHub, Inc.
スローガン Social Coding(社会的なコード記述)
営利性 Yes
登録 必要
ユーザー数 1億人(2023年2月)[1][2]
開始 2008年4月 (17年前) (2008-04)[3]
現在の状態 運営中
閉じる

GitHub商用プランおよびオープンソースプロジェクト向けの無料アカウントを提供している。2019年1月より、プライベートリポジトリを無料で提供するようになった[5]。2009年のユーザー調査によると、GitHubは最もポピュラーなGitホスティングサイトとなった[6]。2023年にはユーザ数1億人を突破した[1][2]

運営会社のGitHub, Inc.は2018年よりマイクロソフト傘下となっている。

概要

GitHubにソースコードをホスティングすることで複数人のソフトウェア開発者と協働してコードをレビューしたり、プロジェクトを管理しつつ開発を行うことができる。

このサイトはSNS機能をもち、feeds、followersとして提供されている。ネットワークグラフとして開発者は自身のソースコードのバージョンのリポジトリを視覚的に把握できるようにしている。

GitHubはGist(ギスト)[7]と呼ばれるPastebinスタイルのサイトも運営している。それらのコンテンツは、具体的には個々のリポジトリのためのウィキおよびウェブページでありGitリポジトリを通して編集される。

2010年1月、GitHubは「GitHub社」という組織で運営されることになった[8]

2018年6月4日にマイクロソフトがGitHub社を75億USドル(約8200億円)で買収すると発表[9]CEOサティア・ナデラは買収後もGitHub社を独立企業として維持する意向を示し[9][10]、ワンストラスはマイクロソフトのテクニカルフェローとなることも発表された[10]。10月末に買収手続きは完了し、予定通りXamarin創業者のナット・フリードマンがCEOに就任、マイクロソフト傘下として新たなスタートを切った[11][12]

ソフトウェア開発者向けのウェブプラットフォームであるが、ファイルのアップローダーソーシャル・ネットワーキング・サービスとみなし、民間企業や教育機関がアクセスを制限する例もある[13]

機能

ブランチ保護

GitHubは直接コミット禁止によるブランチの保護(保護されたブランチ/protected branches)を提供している。

GitHubにホストされたリモートリポジトリはgit pushにより更新できるが、これを許容すると意図しないバグによりpushを受けたブランチが壊れるリスクがある。GitHubは「指定ブランチへの直接コミット禁止 + チェック通過Pull Requestを介したmerge/rebase許可」という機能を提供することで、ブランチに問題のあるコミットが混入しないことを可能にしている[14]

ステータスチェック

GitHubはPull Requestのステータスチェックに基づいたmerge許可/拒否機能(必須ステータスチェック/required status checks)を提供している。保護されたブランチにステータスチェックを適用した場合、ステータスがGreenの場合のみPull Request取り込みが許可される。テスト結果をステータス(Red/Green)とすることでテストを通過したPull Requestのみがブランチへマージされるように設定できる(c.f. 継続的インテグレーション)。

Thumb
Status Check toward Pull Request

マージ後にテストが走る形のCIを行った場合、一時的であれそのブランチが壊れた状態になるリスクがある。ステータスチェックを利用することで、ブランチが常に利用可能となり、かつ壊れたブランチに基づいたforkをおこなう可能性を0にできる。

GitHubはAPIとしてstatus APIChecks APIを提供しており、status APIによるRed/Greenの提示とChecks APIによるCI結果の詳細な提示をサポートしている。

GitHub Actions

GitHub ActionsはGitHubが提供するCI/CDサービスである。

pull_requestイベント

GitHub ActionsはPull Requestに応じたCIトリガー(pull_request)を提供している。このトリガーはGITHUB_REF引数としてrefs/pull/:prNumber/merge/

すなわちpull requestを自動マージしたブランチへの参照を提供する。Pull Requestに応じてactions/checkout@v2などでこのrefをチェックアウトすれば、Pull Requestをマージした状態に対してCIテストを走らせることが可能になる[15]

脚注

参考文献

関連項目

外部リンク

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.