Why Do Developers Love GitHub?
GitHubとは何か、そして200か国の4,000万人のユーザーにとって最も価値のあるオープンソースプラットフォームである理由。その答えについては、最新のブログ記事をご覧ください。
時は2008年、場所はカリフォルニア州サンフランシスコで、クリス・ワンストラス、トム・プレストン・ワーナー、PJハイエットが出演しており、そのうちの1人は大学中退者であることは間違いありません。天気は晴れているかもしれないし、そうでないかもしれない、私は100%確信することはできません、なぜなら、この投稿の目的のために、今、彼ら3人全員が古き良き地下室の即席の机の後ろに座っているからです。2021年現在の数字は4,000万人以上、1億2,500万人以上、そして1人です。4,000万はユーザー用、1億2,500万はコードリポジトリ用、1は世界中の開発者コミュニティによって最大かつ最も強力で、最も価値のあるオープンソースプラットフォームであるGitHub用です。
13年前に上記の3人の技術起業家によって作成され、共同設立されたこのソフトウェア開発ツールは、多くのことを再定義することに成功しています。技術者が知識を共有し、伝達する方法から、コードの構築方法、人々がクラウドを見るようになった方法まで。
2018年のGitHubブログ投稿でMicrosoftによるGitHubの買収を発表し、その明るい未来について語っているWanstrath氏は、次のように指摘している。
「10年前にGitHubが初めてローンチされたとき、この見出しは想像もしていませんでした。Gitは強力ですがニッチなツールであり、雲は空に浮かぶものにすぎず、Microsoftは非常に異なる会社でした。オープンソースとビジネスは、当時、人々は石油と水だけでなく混合もしていると言いました。」
What Exactly is GitHub?
過去 10 年間で、GitHub は、ソース コード、コード共有、ネットワーキング、パブリッシング サービス、およびコード トークのためのクラウド ストレージを提供する、ソフトウェア開発のための世界最大のオープンソース プラットフォームに変わりました。1億2,500万を超えるコードリポジトリを誇り、200か国の何百万人ものデジタル新参者や技術に精通した頭脳によって使用されています。オープンソースプラットフォームとして、それは次のことを意味します。
- 無料で使用できます(GitHubが企業として利益を上げる方法は、ホストされたプライベートリポジトリ、プレミアムサブスクリプションプランをチームやエンタープライズに提供し、ユーザーがプラットフォーム上でサードパーティのアプリを購入するときに料金を追加することです)。
- それは、成長を続けるユーザーと貢献者のコミュニティによって支えられています。
プラットフォームの仕組みをよりよく理解するために、プラットフォームを細かく分割してみましょう。まず、Gitの部分を見ていきます。要するに、Git は Subversion や CVS に似たオープンソースのバージョン管理システムであり、Linux の生みの親である Linus Torvalds によって開始されました。このコマンドラインツールの背後にある考え方は、コードのリビジョンを制御し、コードとコードの変更を1つの中央リポジトリに保存できるようにすることです。そして、これがハブ部分の出番であり、プロジェクトが保存され、エンジニアがネットワークを構築したり、協力したりする実際の場所です。この 2 つは連携して、開発者が新しいアプリ バージョンをリリースするたびにすべてのリビジョンを整理します。それが結果的に:
- 開発プロセスを合理化し、一貫性を持たせると同時に、アクティビティの追跡をはるかに容易にします。
- コラボレーションが容易になります。
- 開発チームまたは外部関係者の全員が、これらの変更を確認し、ダウンロードし、コードに貢献できます。
- 最新リビジョンのアップロードと監視を簡素化します。
GitHubのトレーナーであるMatthew McCullough氏は、GitHubのトレーナーであるMatthew McCullough氏が、開発者が特定のプロジェクトに変更を適用したいときに、リポジトリ全体を自分で使用するシステムにコピーできると説明している。彼らはローカルコピーで変更を行い、その後、コードを1行ほど変更するためにサーバーに常に接続することなく、中央サーバーに「転送」できます。
ただし、GitHub の基本的な動作メカニズムは、次の 5 つの基本事項に依存しています。
- リポジトリ – 特定のプロジェクトのすべてのファイルが GitHub に保存されている場所は、リポジトリ (または略して「リポジトリ」) と呼ばれます。プロジェクトごとに個別のリポジトリがあり、一意のURLを介してアクセスできます。
- フォーク –これはおそらくGitHubの最高の機能であり、人々がそれを使い続ける理由です。フォークとは、プラットフォーム上に既に存在するプロジェクトに基づいて新しいプロジェクトを作成することです。言い換えれば、コントリビュートしたい他の人のプロジェクトを取得し、リポジトリをコピーし、必要な変更を加えてから、新しいバージョンをリリースします。
- プルリクエスト– プルリクエストは、プロジェクト/リポジトリの元の作成者に、いわゆるヘッドブランチで行った変更について通知する場合に送信されます。送信後、オーナーはリビジョンを表示でき、プロジェクト/リポジトリへの変更を受け入れるかどうかを選択できます。
- マージ– プルリクエストの後、リポジトリに加えた変更は元のリポジトリにマージする必要があります。リポジトリをマージするには、有効になっているマージ オプションに応じて 3 つの方法があります。次のことができます: すべてのコミットをベースブランチにマージします。コミットを 1 つのコミットにスカッシュします。コミットを個別にベースブランチにリベースします。これに関する詳細な情報は、GitHubの公式ドキュメントにあります。
- 変更ログ– GitHubの性質は、多くの人が同じプロジェクトで作業し、貢献し、変更できるようにすることです。関係者全員がリポジトリに発生するすべてのことについて同じページにとどまるために、プラットフォームは変更ログを有効にし、すべての変更を追跡します。
なぜ開発者はGitHubを使うのか?
確かに、このオープンソース開発プラットフォームに関しては、多くの「WOW」があります。それでは、開発者が GitHub を使用する理由を深く掘り下げて見てみましょう。
- リアルタイムでのソフトウェアのコラボレーションと管理
このプラットフォームについて、非常に多くの初心者やプロのプログラマーを引き付けるものの1つは、そのWebグラフィカルインターフェイスです。これにより、コードを簡単に交換し、互いのプロジェクトを確認し、ソフトウェアコードをリアルタイムで管理できます。GitHubには、コラボレーションを向上させる多くの機能があり、その中には、問題追跡、リアルタイム分析、機能リクエスト、コメントとメモ、フィードバック管理などがあります。 - GITプロジェクトをクローンする機能
自分のプロジェクトで作業しているときや、他の人のプロジェクトに貢献しているときに、メインサーバーと対話する必要はまったくありません。コマンドラインツールを使用すると、開発者はgitプロジェクトをクローンしても、履歴全体と変更ログにアクセスできます。 - 強力な GitHub Actions と CI/CD パイプライン
開発者がGitHubを使用するもう一つの理由は、ソフトウェアワークフローの自動化を非常に簡単にする強力なアクションです。さらに、ユーザーは CI/CD を簡単に設定できるため、変更をコミットすると、CI/CD は GitHub リポジトリから変更をすばやくプルし、開発者自身のデプロイに適用します。コードカバレッジ、コードレビュー、問題のトリアージ、ブランチ管理を行い、ワークフローの実行を確認するためのより良い方法は何ですか? - 優れたバージョン管理
プログラマーを GitHub に本当に引き付けるのは、優れたバージョン管理です。これにより、コードに加えられた変更を追跡し、誰が変更したかを簡単に確認できると同時に、完全なバージョンの履歴を保持して提供できます。これは、コラボレーションの面だけでなく、リモートワークのトレンドの増加に関しても非常に役立つものです。 - バックアップ。バックアップ。バックアップ。
自分の仕事をすべて失うのが好きな人はいませんよね?GitHubは、優れたバックアップを提供し、よく世話をしているようです。公開コードまたは非公開コードは保護およびバックアップされるため、ハードドライブにコードをストックする必要はありません。
GitHubの利点は何ですか?
- 機能、Gists、Githubページ
少し前に、GitHubは、1つまたは複数のファイルを作業用のgitリポジトリに簡単に変換できるGists機能をリリースしました。一方、GitHubページを使用すると、開発者はGitHubに向けて静的Webサイトをホストする機会があります。そして、それは非常に簡単なので、やらなければならないことはHTMLページを別のリポジトリに割り当てることだけです。 - 十分に詰め込まれたドキュメントとサポートを提供
必要なときにいつでも戻ってくるように、よく書かれたガイドを持つことは、ソフトウェア開発プロセスにとって必須です。そして、GitHubは最高のものの1つであるため、そのドキュメントを本当に恥ずかしがるべきではありません。ユーザーは、git ワークフロー、サンプル、その他のガイドのようなコンテンツに関する情報を検索して学習できます。さらに、たとえばBitBucketと比較すると、GitHubは信頼性の高いオンラインカスタマーサポートを提供するだけでなく、適切なナレッジベースと便利なビデオチュートリアルを提供するため、十分に勝利しています。 - 超クールなポッドキャスト
ほんの数か月前、GitHubは独自のポッドキャスト「ReadME」を発表しました。このエピソードシリーズでは、誰もが「ヘッドフォンをつけたまま、音量を上げる」ように促し、さまざまな技術者を招待してスピーカーの役割を果たし、実現したオープンソースプロジェクトについて話します。また、2020 年に開始された素晴らしいReadME Projectもあり、誰もがオープンソース コミュニティのストーリーや洞察を読むことができます。 - あなた自身の履歴書のように機能します
GitHubの利点に変える可能性のある側面の1つは、開発者とそのスキルの履歴書として役立つ可能性があるという事実です。これは型破りなタイプの履歴書ですが、それでもトリックを行うことができます。これは、誰かが受け入れられたパッチから獲得したクレジット、プラットフォーム上で行われたすべての貢献、および協力したプロジェクトや人々を展示したい場合に最適です。 - 新しいプロジェクトの成功を支援
オープンソースプラットフォームであるGitHubは、さまざまなサイズと規模のプロジェクトがゲームに参加するのを本当に簡単にします。このようにして、人々が自分のアイデアを発信できるだけでなく、若いプロジェクトが成功し、拡大し、変化するのを助けます。Isaac Schlueter氏でさえ、「GitHubがなければ、今日のNode.jsはなかった」と認めています。 - 開発者だけのものではありません
1つ確かなことは、GitHubはプログラマーに最適だということです。しかし、コードの作成や開発とは異なる他の目的に使用できることをご存知ですか?非常にユーザーフレンドリーなので、他の人は本を書くなどのプロジェクトに使用したり、バージョン管理システムを利用してWord文書に適切かつ簡単に変更を加えたりします。
What Infragistics’ Developers Love in GitHub?
私がGitHubで気に入っているのは、その豊富なコラボレーション機能、GitHubから直接コードをビルド、テスト、デプロイできるという事実、強力なバージョン管理、そして何よりもGitHub Actionsです。これを使用すると、リポジトリ内でアプリ開発ワークフローを自動化およびカスタマイズすることで、アプリ開発ワークフローを加速できます。コードレビュー、ブランチ管理、問題のトリアージを思い通りに機能させるのは驚くほど簡単です。しかし、私の同僚も何と言っているか見てみましょう。
「GitHub が大好きです。なぜなら、Git リポジトリの操作が簡単だからです。特に、シンプルでありながらパワフルなUIに感心しています。成功したビルドの緑のチェックマークを見ると、本当に幸せな気分になります!」–フリスト・アナスタソフ
「私はGitHubが大好きです。なぜなら、多くの人々と一緒に仕事をし、大規模なプロジェクトに貢献するのが大好きだからです。GitHubは、そのようなプロジェクトにおける私と仲間の開発者とのコラボレーションをエキサイティングで簡単かつ明確にし、重要なことにあなたの焦点を移します。そして最後になりましたが、コミットを日ごとに視覚化することで、自分のコーディングに固執するのに役立ちます。これは、モチベーションがあまり高くない日があるときに役立ちます。」–ペトコ・ボジノフ
「GitHubを使うのが大好きです。リポジトリ、プロジェクト、プルリクエスト、コミットなど、すべてに簡単にアクセスできるからです。これにより、チームのコラボレーションがより容易になり、保守性が向上し、日々の貢献度を示すグラフや機能、変更を追跡するための優れたコード履歴があります。」–ドブロミール・ツヴェトコフ
「GitHubは、部門横断的なチームが協力し、最高の成果を上げることができる素晴らしいツールです。ドキュメントをREADMEとして保存し、ソースコードの異なるバージョンを維持し、CIを非常に簡単に設定し、問題やプロジェクトボードを通じて経営陣に進捗状況を伝えることができます。–アレックス・カメノフ
製品をGitHubにどのように統合しますか?
App Builderの7月の更新で、非常に重要な更新をリリースしましたが、その1つがアプリケーションをGitHubにアップロードすることでした。App Builderの柱となる特徴の1つは、コード生成です。
アプリ設計の実装を早送りすると、アプリの設計の準備が整い、コードがレビューされると、ユーザーは最終的なアプリケーションコードを取得できます。ただし、エクスペリエンスをさらに向上させるのは、アプリのコードをApp Builder内から直接 GitHub リポジトリに簡単にアップロードできるという事実です。GitHubは何千人もの開発者に愛用されているツールであるため、このApp Builder機能により、ユーザーはレビュアーの割り当て、変更の追跡、コメントなど、GitHubが提供するすべての機能を利用できます。この機能を提供することで、製品チームは、設計からコードまでのコラボレーション ストーリーにもう 1 つ追加するだけでなく、App Builderプラットフォームを、エンジニアがすでに慣れ親しんでいる有名なサービスと統合します。

GitHubへのアップロードプロセスの詳細については、公式ドキュメントに従ってください。