commit 770627a6026eb3d10d67e9f9832861338e795a5f parent a5efe6817c2f9635e412f782ced58e8a1ebc83b4 Author: Yuukin256 <52195426+Yuukin256@users.noreply.github.com> Date: Wed, 1 May 2024 13:39:14 +0900 README の環境構築、開発方法を改訂 (#57) * READMEに環境構築と開発方法について追加 * README に GitHub 運用方針を追加 * 環境構築の説明に n の導入を追加 * 開発時の操作を行うディレクトリを明示 Diffstat:
| M | README.md | | | 92 | ++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++--- |
1 file changed, 89 insertions(+), 3 deletions(-)
diff --git a/README.md b/README.md @@ -1,15 +1,101 @@ # 岸高時間割アプリ +## 開発環境の構築 + +Windows では WSL (Windows Subsystem for Linux) を使用すると楽です。コントロールパネル → プログラム → Windows の機能の有効化または無効化 → Linux 用 Windows サブシステム を有効に設定し、再起動。Microsoft Store から [Ubuntu 22.04.3 LTS](https://www.microsoft.com/store/productId/9PN20MSR04DW?ocid=pdpshare) をインストールしましょう。 + +インストールが完了したら指示に従って初期設定を行ってください。 + +まずは Node.js をインストールします。 + +``` +# Node.js のバージョン管理ツール n のインストール +curl -fsSL https://raw.githubusercontent.com/tj/n/master/bin/n | bash -s lts + +# Node.js LTS のインストール +sudo n lts +``` + +次に GitHub から自分の端末にリポジトリをクローンする下準備として、GitHub CLI を導入します。 + +``` +# GitHub CLI のインストール +sudo apt install gh + +# GitHub CLI で GitHub にログイン +gh auth login +``` + +GitHub のサイト上で、`kishikou-it/timetable-app` を自分のリポジトリとしてフォークする。完了したら、「Code」のボタンから GitHub CLI でクローンするコマンドが用意されているのでコピーし、ターミナルで実行する。 + +``` +# リポジトリをクローン +gh repo clone xxxx/timetable-app + +# クローンしたディレクトリに移動 +cd timetable-app +``` + +\*1 apt 中にsudo dpkg --configure -a を実行せよと出るがlib系で止まったときは、`ls -al /usr/sbin/ |grep telinit` と `sudo mv /usr/sbin/telinit /usr/sbin/telinit.bak2` と `sudo ln -s /usr/bin/true /usr/sbin/telinit` を実行。参考→ https://github.com/microsoft/WSL/discussions/11097 + ## 開発方法 -- Node.js v20 LTS をインストール +基本的な流れは以下のとおりです。 -- git リポジトリ を clone +0. 既存 Issue から着手できそうなものを探すか、自分で Issue を立て、開発内容を説明する +1. リモートの upstream (kishikou-it/timetable-app) の情報を更新 +2. upstream/dev からトピックブランチを分岐 +3. トピックブランチ上で開発 +4. トピックブランチを自身のフォークであるリモートの origin (xxxx/timetable-app) にプッシュ +5. 自身のフォークにプッシュしたトピックブランチから dev ブランチへの Pull Request を作成 + +1~3 の具体的な操作は以下です。 + +まずは `timetable-app` ディレクトリを開いてください。 ``` -# パッケージインストール(初回のみ) +# dev ブランチに切り替え +git switch dev + +# プログラムを最新バージョンに更新 +git fetch upstream +git pull upstream dev + +# パッケージマネージャとパッケージを更新 +corepack enable pnpm pnpm install +# トピックブランチを作成 +git branch feat/xxxx + +# トピックブランチに切り替え +git checkout feat/xxxx + # 開発サーバー起動 pnpm dev ``` + +これで開発準備は完了です。なお、コミットは適当な粒度で行ってください。以下の例に倣うのがおすすめです。 + +``` +- 部品Aを実装 +- 部品Bを実装 +- 部品Cを実装 +- 部品A~Cを組み合わせて機能Xを実装 +- バグ修正・微調整 +``` + +開発完了後の 4 の操作は以下のとおりです。 + +``` +# ブランチを自分のフォークリポジトリにプッシュ +git push origin +``` + +GitHub のサイト上で Pull Request を作成します。Description には変更内容の説明を記入してください。 + +## GitHub 運用方針 + +Pull Request のマージは、すべてのチェックをパスし、1人以上のレビュー承認が必要です。 + +トピックブランチ→ dev ブランチのマージは squash merge で行います。dev ブランチ→ main ブランチのマージは create a merge commit で行います。