
GitとGithubを使った簡易ワークフロー【個人開発向け】
2021/10/30
はじめまして! ヨコイと申します。
今回は個人開発向けのGitとGithubを使った「簡易」ワークフローを書いていこうと思います。
あまり詳しくは解説しません。(できません)とりあえずコピペして必要な箇所のみ書き換えればだいたいどんなプロダクトでも使えるかな??くらいを目指したいと思います!!
そもそもGitとGithubとは?
まずGitについて解説していきたいと思います。
Gitは、 小規模から非常に大規模なプロジェクトまで、あらゆるものを迅速かつ効率的に処理するように設計された、無料のオープンソース分散バージョン管理システムです。
Gitは習得が容易で、フットプリントが小さく、 パフォーマンスが非常に高速です。Subversion、CVS、Perforce、ClearCaseなどのSCMツールよりも優れており、安価なローカルブランチ、便利なステージングエリア、複数のワークフローなどの 機能を備えています。
上記の文章はGitの公式HPからの引用ですが(英語が苦手なのでchromeの自動翻訳です)つまりオープンソースの分散バージョン管理システムとなります。
「分散バージョン管理システム」とはソースコードの変更を管理するバージョン管理システムの「集中型」「分散型」とあるうちの「分散型」になります。
「分散型」とは簡単に言ってしまうと、リポジトリが複数あるということです。「集中型」は一つのリポジトリにアクセスするイメージで使用しますが、「分散型」はそれぞれのマシンにリポジトリ のコピーを用意して開発を進めていくことになります。そうすることでマスターのリポジトリから変更の影響を受けることなく、開発を進めていくことが可能になります。
次にGithubの説明になりますが、こちらも公式HPから引用します。
GitHubは、ユーザのみなさんからヒントを得て作成された開発プラットフォームです。オープンソースプロジェクトやビジネスユースまで、GitHub上にソースコードをホスティングすることで数百万人もの他の開発者と一緒にコードのレビューを行ったり、プロジェクトの管理をしながら、ソフトウェアの開発を行うことができます。
こちらは若干あっさりしていますが、GithubはWebアプリケーションになります。Gitで管理しているソースコードをネットワーク上に共有して複数人で開発を行うことができます。もちろん企業向けにプライベートなリポジトリを作成する機能もあるためビジネス用途にも使えます。
本題
それでは本題に入っていきたいと思います。また説明にあたってローカルでのGitの環境構築やGithubのアカウント作成および設定は終えているものとして進めます。
ステップ① リモートリポジトリを作成する。
プロフィールページ右上のNewボタンを押下し、repositoryネームを入力してリポジトリを作成してください。
ステップ② リモートリポジトリをクローンする。
画像を参考にSSHキーをコピーし、git clone
します。
cd sample-project
git clone git@github.com:XXXXXXXXXXXX
これで任意のディレクトリにリモートリポジトリをクローンすることができます。
ステップ③ 機能開発用のブランチを切って開発を行う。
個人開発向けと書いたので別にmaster/main
ブランチでも良いのですが、チームで開発することを想定したフローを個人開発でも心がけておいたほうがなにかといいかと思いますので、その方向性で書きます。
git branch sample-branch
git checkout sample-branch
これでsample-branch
ブランチにチェックアウトできたのでこのブランチで開発を行います。
ステップ④ 開発が済んだ後はコミットしてリモートへプッシュ
git add --all
git status
git status
は必須ではありませんが、コミットする前のステージング環境にあるファイルを確認することができるので事故防止のために実行して確認する癖をつけておいたほうがよいと思います。
git commit -m "わかりやすいメッセージをつけてください"
git push origin sample-branch
Gitに変更内容をコミットしてリモートリポジトリにプッシュします。
ステップ⑤ PR(プルリクエスト)を作成してmaster/mainブランチにマージ
開発用のブランチを切っているので、プッシュを行った段階ではまだmaster/main
ブランチにマージされていません。PRをだして、master/main
ブランチにコミットをマージしましょう。
あとはステップ③〜⑤までを繰り返していくだけです。
まとめ
個人開発としてプライベートで何かプロダクトを作る際にわからなくなったりする場合があるのでまとめてみました。ただGitもGithubも機能が多く、使いこなせているかというと微妙です。理解不能なエラーに悩まされたりする場合もあるため苦労が伴いますね........
今度またGit・Githubのエラー関連の記事を出したいと思います。