Ruby
Rails
Git
GitHub
issue

未経験がWeb系転職成功したいならgithubでissue管理して開発しよう

個人開発でもチーム開発を意識しよう

未経験からWeb系に転職するために
ポートフォリオを作っている駆け出しエンジニアは多いが、
より差別化を測るため、チーム開発を見据えて開発しようというお話
そのために、このissue管理は非常に有効です

きっかけ

以下の勝又さんのツイートに触発され、取り入れてみました

前提条件

・gitの仕組みを理解し、基本コマンドを習得していること
・githubアカウントを持ち、リモートリポジトリ、リモートブランチの概念及び 基本操作を抑えられていること
※git、githubのシステムがよくわかってない場合は?
⇨開発必須スキルのため、コマンド丸覚えではなく原理から理解しよう
おすすめ教材、記事:
もう怖くないGit!チーム開発で必要なGitを完全マスター
(セールの時に買うといい、1800円とかで買える)
いまさらだけどGitを基本から分かりやすくまとめてみた
(この記事も良くまとまってる)

対象

・マスターブランチからリモートリポジトリに直接pushしているビギナー
・作業用ブランチからpushしてプルリク作ってるけどマンネリ化してきたビギナー

isuue管理のメリット

1.企業にチーム開発を見据えて開発できているという好印象を与えられる
2.やったこと、やるべきことが細かい単位で可視化できるので、やる気が継続する

issue管理の7ステップ

1.githubでissueを作ろう

スクリーンショット 2018-12-17 2.01.03.png
githubで対象リモートリポジトリに行ってisuueタブを開くと
new issueというボタンがあるので、そこからissueを作成

issueの単位としては、数時間もしくは一日くらいで終わるタスク量に設定するとやる気が継続するのでオススメ

作成した後、作業名の横に出る#数字は、issue番号(上の写真でいう#11)
で、後でブランチやコミットメッセージで紐づけるのでメモっておく

2.ターミナルで作ったissueに対応する作業ブランチを作ろう

#数字にはさっきのissue番号を入れるとわかりやすいよ
$ git branch  ‘#数字'
#作業ブランチに移動
$ git checkout ‘#数字'

そこから黙々と対応する作業をこなそう

3.作業が終わったら、ターミナルでadd、commitして、リモートリポジトリにpushしよう

$ git add .
$ git commit -v
#コミットメッセージに必ず対応issue番号を入れる!
$ git push origin '#数字'

ポイントはコミットメッセージを必ずissue番号にすること!
そうすることでこのcommitがgithub上のissueと結びつくよ

4.githubでプルリクを作ろう

スクリーンショット 2018-12-17 1.59.47.png
該当のリモートリポジトリでこんな画面が出るはず。このボタンを押す
スクリーンショット 2018-12-17 2.00.10.png
その後このボタンを押して作成

5.githubでプルリクをマージしよう

スクリーンショット 2018-12-17 2.00.29.png

コンフリクトがないことを確認してボタンを押す
本来なら責任者が再鑑してからマージすることを意識しておこう

6.githubでissueをクローズしていらないブランチを削除しよう

issueタブを開いて、クローズボタンを押します

スクリーンショット 2018-12-25 23.22.46.png
きちんとクローズされてるか、コミットとissueが結びついてるかチェック
ブランチも適宜削除
(ブランチをリベースして使い回すなら消さなくてもOK)
ここは自動化の余地あり!

7.ターミナルでマスターブランチに移動してリモートリポジトリからpullして最新状況を取得しよう

$ git checkout master
$ git pull origin master
#適宜作業ブランチ削除 リベースして再利用してもいいよ
$ git branch -d ‘#数字’

そして1.に戻ってissueを作成するの繰り返しで開発していこう