😎
GitHub Issueを用いた開発手順
はじめに
今回は、Git Issueを用いた開発方法について書きたいと思います。完全に備忘録です。
今後よく使う予定なのでいちいち調べ直さなくてもいいようにまとめておきます😌
issueの作成手順
- GitHub上の該当プロジェクトのタブから
Issues
を選択する -
New issue
を選択 - issueのタイトルと内容を記入して
Submit new issue
を押す(issueが追加される)- コメントでチェックボックス等を付けることが出来るので子タスクの管理としても便利
issueを用いた開発手順
-
登録されているissueに合わせて新たにブランチを切って開発を始める
-
git branch 新規ブランチ名_#issue番号
としてissue番号を付けておくと今後見やすくて便利-
git checkout 新規ブランチ名
で作業ブランチに移動することを忘れない
-
- ブランチの移動まで一括で行いたい場合は、
git checkout -b 新規ブランチ名_#issue番号
として実行する。-b
オプションは「ブランチの作成(branchのb)」のこと。
-
-
キリの良いところで適宜コミットする(
git commit -m "コミットメッセージ #issue番号"
)- コミットする時必ず対応するissue番号を半角スペースを空けて付け加えること!(こうすることで、そのIssueに関するコミットだということを紐付けることが出来る)
- コミットする時必ず対応するissue番号を半角スペースを空けて付け加えること!(こうすることで、そのIssueに関するコミットだということを紐付けることが出来る)
-
作業が完了したら適宜
git push
する(全て終わってからじゃなくてもOK)- この時作業ブランチ宛にpushすることに注意!(
git push origin 作業ブランチ名
または、git push origin HEAD
)
- この時作業ブランチ宛にpushすることに注意!(
-
作業が全て完了したらプルリクを作成し、リモートのmainブランチにmergeする
- プルリクの際、コメント欄に
close #issue番号
と書くと、mergeされる際に自動的にそのissueがcloseになるので便利 - プルリクの流れは以下の通り
-
Compare & pull request
ボタンを押す - Write欄にコメントを書く(変更点の記入 &
close #issue番号
の記入) -
Create pull request
ボタンを押す -
File changed
で変更差分を確認(コメントがあればコメント)- この時、修正箇所がある場合はコメント等で指摘が入る(先輩等から)
- 指摘を踏まえての修正作業がある場合は
Merge pull request
の前に以下の流れを取って修正作業をする- 作業ブランチで修正作業をする
-
git add
→git commit
する -
git push origin 同作業ブランチ名
でpushする - 上記のようにすることで、同ブランチ宛てにpushを行っていれば、自動的に最新のコミット履歴がプルリクにも積み重なるようになっている
- この作業をプルリクがOKとなるまで繰り返す
- Conversationタブ内の
Merge pull request
ボタンを押す(この前までなら修正が効く) -
Confirm merge
ボタンを押す -
Delete branch
ボタンを押してリモートの作業ブランチを削除する
-
- プルリクの際、コメント欄に
-
ローカルのmainブランチをリモートブランチと同じ状態にする(
git pull origin main
)-
git checkout main
でmainブランチに移動する -
git pull
(git pull origin main
)する(チーム開発においては「git fetch
+git merge
」の方が無難かも) -
git pull
したあとはローカルでmerge commit
が作成されるので、ここで一度git push
してリモートのmainブランチを更新しておいたほうがいいかも。(因みに、このmerge commit
の作成を回避するためには、git pull --rebase
コマンドを使うといいとかなんとか)
-
-
ローカルにある作業ブランチを削除する(
git branch -d 作業ブランチ名
)
-
【ここ個人用】 Rails側ではこの後、
git push heroku main
でherokuの方も最新の状態をデプロイしておく- データベースの追加や更新等あれば、
heroku rake db:migrate
も行う
- データベースの追加や更新等あれば、
-
完了!以下また①〜⑥の繰り返し
Discussion
突然失礼いたします。
こちらの記事を見てお声がけさせて頂きました。
2goというGithub Issueをキレイにまとめて表示するというサービスを作っていまして、以下に概要をまとめております。
記事の内容とリンクするところがあるのかなと思いまして、もし興味があるようでしたら利用した結果のフィードバックをもらえないかなと思っております。
お忙しいところ、お手数をおかけいたしますが、ご検討いただけますと幸いです。
@Nakajima さん
コメントして頂きありがとうございます!
素敵なサービスですね!
ただ最近は個人開発する時間が中々捻出できなくなっていまして、Issueを用いた開発をする機会があまり取れそうになく…😞
年末頃には色々と落ち着いて個人開発を再開できる気がしているので、もしその際でも宜しければ是非利用させて頂きますね!
素敵なサービスをありがとうございます!☺️