事例で学ぶ事業会社のDX化ノウハウ(第1回:自動販売機事例で学ぶGithub)
事業会社でDX化担当になったので、いろいろ知りたい
Githubについて自動販売機を事例として学習したい
DXプロジェクト管理職になったのでエンジニアに寄り添った考え方になりたい
Gitと競合のツールを知っておきたい
Gitを利用する上で便利なツールの比較をしたい
Github概要を完全に理解したDX管理職になる目次
Githubと用語解説
1.ソースコード
2.リポジトリ
3.ツール
4.バージョン
- ブランチ
- アド
- コミット
- プッシュ
- プルリク
- マージ
他社ツール
1.GitLab
2.BitBucket
3.Subversion
4.Mercurial
便利ツール
1.GitHub Desktop
2.TortoiseSVN
3.Sourcetree
4.GitKraken
Githubとは
Githubとは、Gitというソースコードのバージョン管理システムを利用したソースコードの管理サービスです。
GitHubは、現在マイクロソフト社の傘下企業になっています。
DX経営会議で「Githubとはマイクロソフトのソースコード管理サービス」と言い切っていただくとよいです。
「マイクロソフトの」と付け加えていただくことで、他の非エンジニアの方々にとっても、安心できるツールだと印象づけることが可能です。
Github用語解説
- ソースコード
- リポジトリ
- ツール
- バージョン
ソースコード(source code)
ソースコードとは、プログラミング言語で書かれたプログラムを動作させるための文字列です。
文章管理やプロジェクト管理で考えると、ソースコードを文章やマニュアルと読み替えていただくと良いです。
自動販売機で例えると自動販売機で提供される機能をイメージしてみてください。
自動販売機の機能としては、「お金を入れる→購入可能なジュースのボタンが光る→ボタンを押す→商品が提供される」という流れになります。
この一連の流れを構成しているのが、ソースコードだと思っていただくとイメージしやすいかもしれません。
リポジトリ(repository)
リポジトリとは、Gitを利用する上でソースコードを管理するためのファイルです。
文章管理やプロジェクト管理をする上でリポジトリは、管理する文章のプロジェクト名だと思っていただくと良いかもしれません。
自動販売機で例えると、自動販売機それ自体のようなイメージです。
ツール(tool)
ツールとは、Githubを便利に使うためのアプリケーションを意味します。
文章管理やプロジェクト管理で言うと、文書管理アプリケーションや、プロジェクト管理システムのようなものです。
自動販売機で例えると、自動販売機ベンダーが活用する自動販売機用工具のようなイメージです。
バージョン(version)
バージョンとは、同じファイルを保存するたびに別名で保存している過去の修正履歴です。
文章管理やプロジェクト管理で例えると、1版、2版などの書籍でも利用される公開段階を管理する考え方です。
自動販売機で例えると、過去の自動販売機です。
先月の自動販売機が、先月のバージョンというイメージになります。
Githubの操作の流れ
基本的にはGithubを利用する上での用語解説ですが、ソースコードの修正だけでなく、Githubを使った文章管理や、プロジェクト管理も利用できます。
自動販売機を例にした解説をしていますが、あくまでイメージで捉えていただくための解説である点ご留意ください。
まずは、Githubの用語説明で利用する操作のフロー図を御覧ください。
Github操作用語
- ブランチ
- アド
- コミット
- プッシュ
- プルリク
- マージ
ブランチ(branch)
ブランチとは、ソースコードを途中で分岐させて管理する考え方です。
ブランチで、限定したソースコード(缶ジュース)を修正することで、リポジトリ(自動販売機)全体に影響を与えず、限定した機能のみ修正することが可能です。
文章管理やプロジェクト管理で例えると、マニュアルの最後の方に有るFAQページだけをFAQ専門の担当者が執筆するための分岐して執筆する感じです。
FAQ専門の担当者は、執筆後、マニュアルデータのFAQ部分にブランチのFAQ文章を適用することで、マニュアル全体の変更に影響せずFAQページだけ、担当者が変更可能になります。
自動販売機で例えると、自動販売機の主機能とは別の、温かい缶ジュースを提供する機能を開発するイメージが良いかもしれません。
もし、温かい缶ジュース機能付き自動販売機の開発がうまく行かなかったとしても、現在運用中の自動販売機には影響がありません。
もし温かい缶ジュース機能付き自動販売機の開発がうまく行ったら、現在運用中の自動販売機と統合することが出来ます。
つまり、ブランチを利用した開発は、温かい缶ジュース機能付き自動販売機の開発進捗状況に影響されず、現在運用中の自動販売機を安定稼働させることが可能です。
アド(add)
アド(add)とは、変更ファイルをインデックスに登録する操作です。
アド(add)を行うことで、作業中のワークツリーからインデックスという場所に登録します。
少し込み入った話になるのですが、変更後すぐコミット(commit)操作で変更を確定するのではなく、アド(add)してからコミット(commit)することで、必要な変更だけを確実に確定させる目的があります。
文章管理やプロジェクト管理で例えると、書類の修正後、管理職の決済印を何度か経ることで、変更を確定させる作業をイメージしていただくと良いです。
自動販売機で例えると、温かい缶ジュースを提供する機能を追加したい場合、一旦決済件を持つ上司にお伺いを立てる根回しするイメージが良いかもしれません。
コミット(commit)
コミットとは変更内容を確定させる操作です。
コミットとは、バージョン管理するソースコードに対し、次のようなデータを確定させます。
- コミットした日時
- コミットしたユーザー
- コミットしたときのメッセージ
- 変更されたファイル名
- プロジェクト内のファイル情報
文章管理やプロジェクト管理でも、過去のバージョンを管理する事があると思います。
例えば書籍の一番最後のページに次のような情報が記載されるイメージで考えていただくと解りやすいかもしれません。
- 出版日時
- 出版時の編集者名
- 出版時のコメント
- 新しい版で大まかに修正した箇所
- 書籍の情報
自動販売機で例えると、温かい缶ジュースを提供するに当たり、次のような稟議情報を確定させるイメージが良いかもしれません。
- 稟議申請日時
- 申請担当者名
- 担当者の意見
- 温かい缶ジュースを提供するプロジェクト名
- 温かい缶ジュースを提供するための手順書
プッシュ(push)
プッシュ(push)とは、コミット(commit)したソースコードを、クラウドで管理しているソースコード管理サービス等に送りだすことを意味します。
文章管理やプロジェクト管理で例えると、文書の修正版を上司に提出することを意味します。
自動販売機を例にすると、温かい缶ジュースを提供する稟議を提出することを意味します。
プルリク(Pull Request)
プルリクとは、プルリクエストの略です。
プルリクエスト(Pull Request)とは、コードの追加、修正などの確認を管理者に依頼する事を意味します。
最初にご覧いただいたフロー図では、プルリクエスト後、マージされていたかと思います。
しかし、プルリクエストを行ったからといって、必ずしも採用されるわけではないという点にご注意ください。
文章管理やプロジェクト管理で言うと、文書の修正後上司に確認して頂くお願いを意味します。
これまではメールや自社システムで修正対応のお願いをしていた場合、Githubを利用することでフルリモートで、文章管理やプロジェクト管理が可能になります。
自動販売機で例えると、温かい缶ジュース提供機能の稟議決済を、本社にお願いするイメージが良いかもしれません。
マージ
マージとは、ブランチで分岐させた内容を、統合することを意味します。
文章管理やプロジェクト管理で言うと、マニュアルの主内容とFAQページをマージすることで、1つのマニュアルとして完成するような感じです。
自動販売機で言うと、温かい缶ジュースを提供する機能を、現在運用中のすべての自動販売機に反映させる処理をイメージすると良いかもしれません。
Githubの操作の流れで利用する用語をご理解いただいたので、再度操作の流れの図を見ながら復習してみてください
他社ツール
- GitLab
- BitBucket
- Subversion
- Mercurial
GitLab
GitLabは、ざっくり言うとGithubのオープンソースバージョンです。
オープンソースというのは、ソースコードを無償で公開しており、定められたライセンスの利用方法を守れば無料で利用ができる事を意味します。
Githubも無料で利用できる部分が多いのですが、GitLabは自分でホスティングして運用が可能です。
自分でホスティングするというのは、学校の職員室にあるパソコンにインストールして、学校内の文書を管理する事ができるイメージです。
学校や官公庁の場合、外部ネットワークからデータにアクセスできることに対する制限がります。
そのため、GitLabの存在は、文章管理やプロジェクト管理を学校で利用する後押しになるかもしれません。
DX経営会議で「GitLabとは官公庁でも導入できるGit」と言い切っていただくとよいです。
BitBucket
BitbucketはATLASSIAN(アトラシアン)が提供しているコード管理Webサービスです。
基本的にはGithubと同じような機能を持っています。
また、GitLabと同様にホスティングしていただくことも可能ですが、有料になります。
DX経営会議で「BitbucketとはGithubより使いやすいGithub」と説明していただくと良いです。
Githubと同じような機能でありながら、BitBucketユーザーが存在する理由は次のような点があります。
- ATLASSIAN(アトラシアン)が、ATLASSIAN Source TreeというGitをグラフィカルに管理するソフトを無償提供していた事
- BitBucketの方が、GitHubより無料利用できる範囲が多かった事
Subversion
Gitが分散管理型であることに対し、Subversionとは、集中管理型のバージョン管理システムです。
DX経営会議で「SubversionとはGitと競合するソフト」と説明していただくと良いです。
15年以上昔はGitよりもSubversionの方が主流でした。
それでも、GitHubの機能追加や人気加速に伴い、現在はGitが主流になっています。
もちろん、巨大なデータを管理するならSubversionの方が良い事もあります。
Mercurial
Mercurialは、分散型のバージョン管理システムです。
Gitに比べ、簡単な機能のみ対応していますが、巨大なバイナリデータを管理する場合は、Mercurialを選択することもあります。
DX経営会議で「Mercurialとは巨大なデータを扱うGit」と説明していただくと良いです。
便利ツール
ここではGitを利用する便利ツールを紹介します。
- GitHub Desktop
- Sourcetree
- GitKraken
GitHub Desktop
画像はGithubより引用
GitHubDesktopとは、コマンドでGithubを利用するのではなく、グラフィカルにGithubを操作するためのGithubオリジナルアプリケーションです。
DX経営会議で「GitHubDesktopとはマイクロソフトのGithubを簡単に使うソフト」と説明していただくと良いです。
Sourcetree
Sourcetreeとは、ATLASSIAN(アトラシアン)が提供しているバージョン管理システムのグラフィカルアプリケーションです。
Githubがコマンドのみで利用可能だった頃に、ATLASSIAN(アトラシアン)がSourcetreeを無償提供していたことで、ATLASSIAN(アトラシアン)のBitBucketユーザーの増加にも繋がりました。
DX経営会議で「Sourcetreeとは、個人的にGitHubDesktopより使いやすいソフト」と説明していただくと良いです。
GitKraken
GitKrakenは、Gitをグラフィカルに管理できるアプリケーションです。
これまでもいくつかグラフィカルに管理できるアプリケーションをご紹介しましたが、GitKrakenは圧倒的なUXを提供しています。
UXとはユーザーエクスペリエンスと言って、簡単に言うととてもいい感じのデザインで使いやすい体験ができるということです。
GitKrakenが使いやすいなら、GithubDesktopやSourceTreeはどうするのかという疑問が発生するかもしれません。
GitKrakenが他のツールと異なるのは、使いやすいこと以外に有料であることです。
DX経営会議で「GitKrakenとは有料の使いやすいGithubDesktop」と説明していただくと良いです。
まとめ
今回は、DXマネジメントを行う管理職が、DX経営会議でGithubを完全に理解した風に発言する方法を解説しました。
特に事業会社の非エンジニアの方がDXマネジメントを行う場合、IT用語について戸惑うことも多いと思います。
エンジニアと付き合う上で、エンジニアから知らないことを馬鹿にされることもあるかもしれません。
でも大丈夫です。
エンジニアも最初は何も知らなかったんです。
今回の記事を読んで、自信をもって、完全に理解したと振る舞ってください。
大切なことは、自動販売機に例えてご理解を深めることです。
かならずご自身の土俵に立って理解してみてください。
つまり、自動販売機の例をもとに、ご自身のプロジェクトに置き換えて読み直していただくことで、DX経営会議で非エンジニアの方々にも説明していただくことが可能になります。
今後、DX化をすすめる事業会社の皆様が、エンジニアに寄り添って頂く学習を心より応援しております!!
ドメインが実質0円(年間最大3,882円お得)になるサーバーセット割特典を展開中です。
最新のキャンペーンはこちらから
※ユーザーノートの記事は、弊社サービスをご利用のお客様に執筆いただいております。
アジマッチ有限会社(https://asimatch.com) 社長。基幹システムと連携したWebサービス開発から、AIを利用した機械学習の設計、開発、人材育成まで幅広い業務実績。最近は、スタートアップ企業のマネジメント業務のお声がけいただくことが多いです。