水野班でのGitHub運用について
普段の研究活動はmizuno-groupのorganization内で行う。
一方、各人の貢献を卒業後もわかりやすく残すため、「organizationでリポジトリを作り、これをforkしたリポジトリを各自の個人アカウントで扱う」建付けをとる。
個人GitHubアカウントの作成とorganizationへの所属
- 個人のGitHubアカウントをテキトウに作成する。いずれ揮発する大学のアカウントではなく、gmailなど卒業後も使い続けるアカウントで作成する。
- 水野に作成したアカウントのGitHubユーザー名か登録emailアドレスを連絡し、organizationへ登録する。
GitHub-Slackのアカウント連携
- slack上で@GitHubとのメッセージを開く
- GitHubからメッセージが届くので[Connect GitHub account]をクリック
- 画面の操作に従って操作すると確認コードが表示される
- [Enter Code]から入力する
上記を設定することで、転送されるように設定されているissueなどでメンションされた場合にSlack上でも通知が飛ぶようになる。
※Error: The time window to connect your GitHub account has expired になった場合、https://slack.github.com/slack/v2/oauth/login を開いて権限を許可した後、上記をリトライ
水野班リポジトリの準備
- mizuno-groupにリポジトリを作成する。(main)
- 自身が改変するブランチを作成する。(devなど)
- mainブランチに対してprotection ruleを追加する。基本はデフォルトの
Require a pull request before mergingでRequire approvals (n=1)を設定すれば良いか。
個人リポジトリにフォークする
- 上記の自身が改変するブランチ(dev)をForkする。Fork先のownerには自身のアカウントを指定する。
- Fork先の個人リポジトリでは基本的にmainブランチで作業する。
個人main→水野班devにmergeして芝を生やす
- 個人リポジトリのbranchを選択する欄の下に
This branch is n commits ahead of mizuno-group:main.と表示があることを確認。 n commits aheadをクリックすると差分を確認できる。- 個人のmainブランチを水野班のdevブランチに反映する設定。
base repository: mizuno-group/XXXbase: dev<==head repository: mizuno-group/XXXbase: main - create pull request
- conflictsが発生しないことを確認し、
merge pull requestからのconfirm merge。
上記は個人が独立して実行可能である。Fork元のdevにmergeすることでようやく芝が生える。
※芝を生やすとは。
水野班dev→水野班mainにmerge
- 水野班のdevブランチに移動し、
n commits aheadをクリックして差分を確認。 base: main<==compare: devの設定を確認。create pull request- おそらく
✖ Review requiredと✖ Merging is blockedとエラーが表示される。 - 第三者(基本は水野先生)がpull requestを確認し、承認することでmergeが完了する。
運用方針変更の意義
- 個人の研究への貢献を可視化する。
- 開発段階から研究内容を積極的に対外的に発信する。
更新情報
- 230507 groovy-phazuma, tadahayamiz