README.md (3843B)
1 # 岸高時間割アプリ 2 3 ## 開発環境の構築 4 5 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) をインストールしましょう。 6 7 インストールが完了したら指示に従って初期設定を行ってください。 8 9 まずは Node.js をインストールします。 10 11 ``` 12 # Node.js のバージョン管理ツール n のインストール 13 curl -fsSL https://raw.githubusercontent.com/tj/n/master/bin/n | bash -s lts 14 15 # Node.js LTS のインストール 16 sudo n lts 17 ``` 18 19 次に GitHub から自分の端末にリポジトリをクローンする下準備として、GitHub CLI を導入します。 20 21 ``` 22 # GitHub CLI のインストール 23 sudo apt install gh 24 25 # GitHub CLI で GitHub にログイン 26 gh auth login 27 ``` 28 29 GitHub のサイト上で、`kishikou-it/timetable-app` を自分のリポジトリとしてフォークする。完了したら、「Code」のボタンから GitHub CLI でクローンするコマンドが用意されているのでコピーし、ターミナルで実行する。 30 31 ``` 32 # リポジトリをクローン 33 gh repo clone xxxx/timetable-app 34 35 # クローンしたディレクトリに移動 36 cd timetable-app 37 ``` 38 39 \*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 40 41 ## 開発方法 42 43 基本的な流れは以下のとおりです。 44 45 0. 既存 Issue から着手できそうなものを探すか、自分で Issue を立て、開発内容を説明する 46 1. リモートの upstream (kishikou-it/timetable-app) の情報を更新 47 2. upstream/dev からトピックブランチを分岐 48 3. トピックブランチ上で開発 49 4. トピックブランチを自身のフォークであるリモートの origin (xxxx/timetable-app) にプッシュ 50 5. 自身のフォークにプッシュしたトピックブランチから dev ブランチへの Pull Request を作成 51 52 1~3 の具体的な操作は以下です。 53 54 まずは `timetable-app` ディレクトリを開いてください。 55 56 ``` 57 # dev ブランチに切り替え 58 git switch dev 59 60 # プログラムを最新バージョンに更新 61 git fetch upstream 62 git pull upstream dev 63 64 # パッケージマネージャとパッケージを更新 65 corepack enable pnpm 66 pnpm install 67 68 # トピックブランチを作成 69 git branch feat/xxxx 70 71 # トピックブランチに切り替え 72 git checkout feat/xxxx 73 74 # 開発サーバー起動 75 pnpm dev 76 ``` 77 78 これで開発準備は完了です。なお、コミットは適当な粒度で行ってください。以下の例に倣うのがおすすめです。 79 80 ``` 81 - 部品Aを実装 82 - 部品Bを実装 83 - 部品Cを実装 84 - 部品A~Cを組み合わせて機能Xを実装 85 - バグ修正・微調整 86 ``` 87 88 開発完了後の 4 の操作は以下のとおりです。 89 90 ``` 91 # ブランチを自分のフォークリポジトリにプッシュ 92 git push origin 93 ``` 94 95 GitHub のサイト上で Pull Request を作成します。Description には変更内容の説明を記入してください。 96 97 ## GitHub 運用方針 98 99 Pull Request のマージは、すべてのチェックをパスし、1人以上のレビュー承認が必要です。 100 101 トピックブランチ→ dev ブランチのマージは squash merge で行います。dev ブランチ→ main ブランチのマージは create a merge commit で行います。