GitHub SkillsはGitHubのオンライン学習新サービス
GitHub社は、2022年6月6日、GitHubについてオンラインで学べる無料チュートリアルの「GitHub Skills」を発表しました。GitHub Skillsは初心者からエキスパートまでを対象とし、対話的にGitHubの使い方を学べるコースと紹介されています。
コース自体はGitHub Actionsで構築され、カスタマイズを行うことができます。用意されたテーマは「Introduction to GitHub(GitHub入門)」や「Continuous integration(継続的インテグレーション)」など、入門者用から上級者向けまでさまざまなテーマがカバーされています。
ユーザーは用意されたテンプレートを利用して、カスタマイズしたコースを作成することが可能です。また、GitHub Skillsの提供が開始されたことにより、「Learning Lab」は9月1日以降は非推奨となります。
【参考】:GitHub Skills| GitHub 【参考】:Introducing GitHub Skills | The GitHub Blog 【参考】:GitHub Actionsのドキュメント - GitHub Docs 【参考】:GitHub Learning Lab
そもそもGitHubとは?
そもそもGitHub(読み方:ギットハブ)とは、どういったサービスなのでしょうか?GitHub Skillsの紹介に入る前に、GitHubとは何のために使うのか、何ができるのかについて理解しておく必要があります。
GitHubは言わば「ソースコード管理サービス」の名称で、GitHub社がその提供や運用を行っています。GitHubではソースコードの保存・管理・公開などを行うことができ、ソースコードのバージョン管理には「Git」というツールが利用されています。
GitHubは2008年に開発され、クラウドを利用して「リモートリポジトリ」機能を提供しています。互いに離れた場所にいる開発者同士がGitHubを利用することで、効率よくソフトウェア開発を進めています。
このようなソースコードの管理以外に、GitHubではデザインや文書などのバージョンの管理、行政機関における文書管理などでも利用されており、ソースコード管理、ドキュメント管理にはなくてはならないサービスとして定着しています。
【参考】:開発者のためのプラットフォーム|GitHub 【参考】:Git--distributed-even-if-your-workflow-isnt
GitHub Skillsにチャレンジ
GitHubはシステム開発現場では必須ツールとも言われています。GitHubに関する解説本や参考書も数多くありますが、実際に体験してみないと習得するのは容易ではありません。
GitHub Skillsは、初心者から上級者までインタラクティブなコースを利用してGitHubを学べます。今のところは全編が英語ですので、英語に自信のない方は翻訳ツールで日本語に翻訳しながら利用できます。
GitHub Skillsのコース
GitHub Skills には「First day on GitHub」(初日のコース)として、「Introduction to GitHub」(GitHub 入門)「Communicate using Markdown」(Markdawnを使ったやり取り)、「GitHub Pages」(Webホイティング機能)の3コースがあります。
無料なので、まずはFirst day on GitHub(初日のコース)から参加してみましょう。
また「First week on GitHub」として、「Review pull requests」(プルリクエスト機能)と「Resolve merge conflicts」(GitHubでのチームワークの基盤となるPull request機能を用いた共同作業)の2コースが用意されています。
Introduction to GitHub
用意されたテンプレートから自分専用のリポジトリを作成し、指示通りにGitHubの基本操作を行います。自分のリポジトリで、ブランチの作成・ファイルのコミット・ブルリクエストの確認・プルリクエストのマージなどの基本を習得します。
あらかじめGitHubの概要などを予習しておくとスムースにこなせるでしょう。
【参考】:GitHub - skills/introduction-to-github
Communicate using Markdown
このコースでは、GitHub上で利用されるMarkdown記法(構文)を学びます。Markdown記法はテキストを記号で修飾し、HTMLより手軽にハイパーリンクや見出しなどを記述できるマークダウン言語です。実際にMarkdownを用いてアイデアを整理し、共同作業を行いながら学んでいきます。
ここではMarkdown記法に慣れることが求められますが、扱うのは必要最低限の見出し・画像・コードブロック・チェックリストのみに限定されていますので、すぐに馴染めるでしょう。
【参考】:GitHub - skills/communicate-using-markdown
GitHub Pages
GitHub Pageは、GitHub提供のWebホスティングサービスです。ここでは、GitHub Pagesと静的なサイトジェネレートしてくれる「Jekyll」を使い、GitHubのリポジトリからWebサイトやブログを作成する手順を学びます。
作成したページは以下のようになり、実際にブラウザで確認できます。
https://アカウント名.github.io/リポジトリ名
GitHubには「GitHub Profile README」という機能があり、自分のアカウントページに自己紹介などのプロフィールを表示できますので、GitHub上にWebサイトやブログを開設する際には、ぜひ「GitHub Profile README」を使ってみてください。
【参考】:GitHub - skills/github-pages 【参考】:Jekyll- GitHub 【参考】:プロフィールの README を管理する - GitHub Docs
Review pull requests
共同作業を通じて、GitHubの基本的機能であるプルリクエストについて学びます。プルリクエストは GitHub上のチームワークの基盤です。具体的には、レビューをリクエストするタイミングと方法、他の人のプルリクエストレビューを提供する方法などを学びます。
レビュワーとして自分自身を設定し、レビューを残し、オリジナルに対する変更を提案します。続いて提案された変更を適用し、プルリクエストをマージします。これらを通じて、チームワークにおけるプルリクエストの重要性を肌で感じることができるでしょう。
【参考】:GitHub - skills/review-pull-requests
Resolve merge conflicts
マージとはプルリクエストを受け取ったオーナーが、自分のリポジトリに変更を取り入れる機能のことです。複数のユーザーがGitHub上で同じファイルに対して変更を加えた際に、マージの競合が発生してしまいます。
これらマージ競合の解決策やマージ競合を減らす方法について学ぶのがこのコースです。このコースはやや難易度が上がりますので、あらかじめGitHubの概要について学んでおくことが求められます。
【参考】:GitHub - skills/resolve-merge-conflicts
GitHubを学ぶ
GitHub Skillsはこの記事で紹介したように、座学というよりは参加者がオンライン上に集い、各テーマに従ってチームワークを進めていくワークショップの形態で学べる、より実践的なオンラインスクールです。GitHubの解説本は多数ありますが、本だけでは理解が難しいところもあります。
その点、与えられたテーマに沿って、実際に手を動かしながら行う学習形式のGitHub Skillsは効率的な習得ができるのが強みです。サービスは英語だけというハンディはありますが、GitHubの基本から学びたい、改めてポイントをつかみたいという方にGitHub Skillsの利用をおすすめします。
編集部オススメコンテンツ
アンドエンジニアへの取材依頼、情報提供などはこちらから