GitHubを企業で導入する時に有料プランを使うべき理由

2022.09.30

9月も早いことに最終日。

そんな私は、会社内でDXを進めていたりするわけですが、今回はGitHubの話です。

ソフトウェア開発、アプリ開発をしているわけではないですが、コード管理と原稿管理はマスト。

そこで、Git管理・GitHubの導入を推し進めています。

厳密には、使っている人は使っているという状況で、しっかりがっつり使おうよというところで勉強中。

無料プランでできないこと

github料金表

プライベートリポジトリで

  • ブランチの保護ができない
  • レビュー必須ルール設定できない
  • 複数人にプルリクエストをアサインできない
  • GitHubPages,wikiが使えない

パブリックリポジトリでは使える機能はあるものの、プライベートとなると使えないものは色々ある。

さすがにここはうまいなと。

ただ、企業は基本的にパブリックに使いたいのではなく、プライベートな環境で使いたいわけ。

そうなると、GitHubは無料で使うには限界がある。

1人月4ドルで使えるのは正直破格だから、稟議も通りやすいはずだ。

ブランチの保護を使いたい理由

Gitの操作に不慣れな人は、ミスってメインブランチをがっつりいじることがちょくちょくあるわけです。

気づいたら謎のコミット履歴がたくさん積まれていて、どうにかしようとコミットしまくるという…。

Teamsプラン以上であれば、mainまたはmasterブランチを特定の人しかいじれないようにできます。

こうすることで、必然的にブランチを切る必要が出てくる。メインブランチ変にいじられないので安心できます。

レビュー必須でチェック体制を強化

プルリクエスト後、指定のレビュー人数が承認しない限りプルリクエストをマージできないようにすることで、チェック体制が強化できます。

無料版だと、プルリクエストを送った本人がそのままマージできるのでこの設定は必須です。ブランチ切ればメインブランチいじれるようなものですからね。

加えて、マージできる人というのが選べるので、チームリーダー、一定の信頼をおけるメンバーに割り当てることで適切なマージが可能になるのです。

これだけでも、知識レベルの低い人とGitHubを使う上では、かなりこれで安心できる。

何事も新しい取り組みは小規模から

GitHubは少なくともGitの知識が無いと使い物にならない。

issuesやwikiを使って社内課題管理、ドキュメント管理をしている会社もあるようだけれど、それだけではお金がもったいない。

youtubeでわかりやすい説明はあるから、それを必須視聴にして勉強をさせられる規模感から始めて導入すると良い。

  • Gitの全体像、概念
  • ローカルリポジトリ、リモートリポジトリ
  • ステージ(add)
  • コミット(commit)
  • プッシュ(push)
  • プル(pull)
  • プルリクエスト
  • マージ(merge)
  • checkout hoge
  • checkout -b hoge
  • branch
  • branch -d(-D) hoge
  • stash
  • stash pop
  • reset
  • reset —soft
  • reset —hard
  • reset —hard ORIG_HEAD

少なくともこれくらいは覚えないとだめですかね。 私はここ1ヶ月で、このあたりは抑えました。

ステージングからプッシュまでは正直、vscodeのGUIでやった方がわかりやすい、早いと思うことも多いからコマンドは覚えなくてもいいけど、ステージってなんや、コミットってなんやは理解していないとだけだけど。

brach,checkoutについてもGUIでできるから最初のうちは覚えていなくても正直いける。

ただ、 branch -D hoge は知っておいたほうがいい。ローカルブランチの整理に必要。

と語り始めると止まらないので、ど初心者からGitを使い始めた私がこれ覚えておいた方が良いよというのを非エンジニア目線からお伝えする記事を作ります。

とにかく

git stash
git stash pop

これを真っ先に覚えておいた方がいいことだけ言っておく。

あ、やべーブランチ切ってないのに作業始めちゃった…どうしようーってことになる回数は最初めっちゃあるからまっさきに覚えた方が良い。

今はある程度commandを抑えられてきたので、インテグレーション研究中です。

色々連携して自動化できるものは自動化する!

といった形で、やる気まんまんの好奇心旺盛の人間がいないとなかなか導入って難しいと思うので、頑張ってください。