GitHubとは何ですか、また何に使用されますか?

GitHubは、オタクが絶賛していると聞いているWebサイトとサービスですが、多くの人はそれが何をしているのかをよく理解していません。すべてのGitHubハブバブが何であるか知りたいですか?調べるために読んでください。

GitHubの「Git」

関連:初心者向けのSubversion(SVN)によるバージョン追跡

GitHubを理解するには、まずGitを理解している必要があります。Gitは、Linuxを作成したのと同じ人物であるLinusTorvaldsによって開始されたオープンソースのバージョン管理システムです。Gitは、他のバージョン管理システム(Subversion、CVS、Mercurialなど)に似ています。

つまり、Gitはバージョン管理システムですが、それはどういう意味ですか?開発者が何か(アプリなど)を作成するときは、コードに絶えず変更を加え、最初の公式(非ベータ)リリースの前後に新しいバージョンをリリースします。

バージョン管理システムは、これらのリビジョンをまっすぐに保ち、変更を中央リポジトリに保存します。これにより、開発者はソフトウェアの新しいバージョンをダウンロードしたり、変更を加えたり、最新のリビジョンをアップロードしたりできるため、簡単に共同作業を行うことができます。すべての開発者は、これらの新しい変更を確認し、ダウンロードして、貢献することができます。

同様に、プロジェクトの開発とは関係のない人でも、ファイルをダウンロードして使用できます。Git、Subversion、またはその他の同様の方法を使用して必要なファイルをダウンロードすることは、特にソースコードからプログラムをコンパイルする準備として(Linuxオタクにとってはかなり一般的な方法です)、ほとんどのLinuxユーザーはこのプロセスに精通している必要があります。

Gitは、利用可能な他のシステムに比べて複数の利点があるため、ほとんどの開発者に推奨されるバージョン管理システムです。ファイルの変更をより効率的に保存し、ファイルの整合性を向上させます。詳細を知りたい場合は、Gitの基本ページにGitの仕組みに関する詳細な説明があります。

GitHubの「ハブ」

Gitはバージョン管理システムであり、利用可能な多くの代替手段と似ていますが、それよりも優れていることを確認しました。では、GitHubが特別な理由は何ですか?Gitはコマンドラインツールですが、Gitに関連するすべてのものが中心となるのは、開発者がプロ​​ジェクトとネットワークを同じ考えを持つ人々と一緒に保存するハブであるGitHub.comです。

オタクがGitHubを使用することを好む主な理由のいくつかを確認し、その過程でいくつかの用語を学びましょう。

リポジトリ

リポジトリ(通常は「repo」と略されます)は、特定のプロジェクトのすべてのファイルが保存される場所です。各プロジェクトには独自のリポジトリがあり、一意のURLを使用してプロジェクトにアクセスできます。

リポジトリのフォーク

「フォーク」とは、既存の別のプロジェクトに基づいて新しいプロジェクトを作成することです。これは、プログラムやその他のプロジェクトのさらなる開発を大いに奨励する驚くべき機能です。貢献したいプロジェクトをGitHubで見つけた場合は、リポジトリをフォークし、必要な変更を加えて、改訂されたプロジェクトを新しいリポジトリとしてリリースできます。新しいプロジェクトを作成するためにフォークした元のリポジトリが更新された場合、それらの更新を現在のフォークに簡単に追加できます。

プルリクエスト

リポジトリをフォークし、プロジェクトに大幅な改訂を加え、元の開発者に認識してもらいたいと考えています。おそらく、公式のプロジェクト/リポジトリに含まれていることもあります。これを行うには、プルリクエストを作成します。元のリポジトリの作成者はあなたの作品を見て、それを公式プロジェクトに受け入れるかどうかを選択できます。プルリクエストを発行するたびに、GitHubはあなたとメインプロジェクトのメンテナーが通信するための完璧な媒体を提供します。

ソーシャルネットワーキング

GitHubのソーシャルネットワーキングの側面は、おそらく最も強力な機能であり、提供されている他のどの機能よりもプロジェクトを成長させることができます。GitHubの各ユーザーには、ある種の履歴書のように機能する独自のプロファイルがあり、プルリクエストを介して過去の作業と他のプロジェクトへの貢献を示します。

プロジェクトの改訂については公に話し合うことができるため、多くの専門家が知識を提供し、協力してプロジェクトを前進させることができます。GitHubが登場する前は、プロジェクトへの貢献に関心のある開発者は、通常、作成者に連絡するための何らかの手段を(おそらく電子メールで)見つけて、信頼でき、貢献が合法であることを納得させる必要がありました。

変更ログ

複数の人がプロジェクトで共同作業を行う場合、それらのファイルが保存される内容、時期、場所を誰が変更したかを追跡することは困難です。GitHubは、リポジトリにプッシュされたすべての変更を追跡することで、この問題を処理します。

GitHubは開発者だけのものではありません

GitHubがプログラマーにとってどのように理想的であるかについてのこのすべての話は、GitHubが役立つと思うのは彼らだけであると信じさせるかもしれません。あまり一般的ではありませんが、実際にはあらゆる種類のファイルにGitHubを使用できます。たとえば、Word文書に絶えず変更を加えているチームがある場合は、バージョン管理システムとしてGitHubを使用できます。ほとんどの場合、より良い代替手段があるため、この方法は一般的ではありませんが、覚えておく必要があります。

GitHubの概要がわかったので、始める準備はできていますか?GitHub.comにアクセスし、サインアップ後にヘルプページを確認してください。