前回の続きです。
【前回】:【Git】GitLabで1人コードレビューごっこしてみた②(branch作成からMergeRequestまで)
>>>引用
①[ 開発者 ] 作業対象のソースを clone または pull します。
②[ 開発者 ] 作業用のブランチを作成します。
③[ 開発者 ] 機能追加、改修といった開発作業を行います。
④[ 開発者 ] 作業が完了したら push します。
⑤[ 開発者 ] プルリクエストを作成します。
⑥[ レビュー・マージ担当者 ] 通知されたプルリクエストから変更を確認しレビューします。
⑦[ レビュー・マージ担当者 ] レビュー結果を判断し、必要ならば開発者にフィードバックします。
⑧[ レビュー・マージ担当者 ] レビューの結果、問題がない場合はマージします。
⑨[ レビュー・マージ担当者 ] レビューの結果、対応自体が不要となるなど、プルリクエスト自体が必要ない場合はクローズします。
今回は⑥~⑧までです。
⑨はマージをGitLab側で拒否するだけなので書きません。
一旦、GitLabに関してのメモはこれで最後になりそうです。
本来は一人ですることではないので、それこそ"ごっこ遊び"の感覚でなぞっていきます。
##コード準備
レビュー用にコードを用意します。
「僕Unityできますよ」のTシャツで有名なコードをお借りします。
public float speed = 100;
void Update ()
{
if(GameObject.Find("MainGame").GetComponent<MainGame>().gameStart)
{
if(Input.GetButton("Vertical"))
{
transform.position += transform.forward * speed;
}
}
}
【参考リンク】:「僕Unityできますよ」Tシャツのコードレビュー
このコードを作業ディレクトリにぶち込んで準備完了です。
##マージ用のブランチ作成
前回の軽いおさらいです。
マージリクエスト用のブランチを作ります。
2つの方法でメモしときますが、今回は①の方法が楽そうです。
####①ローカルのブランチを基にしたブランチをローカルに作ってリモートに登録
git checkout 任意のローカルブランチ
git checkout -b 作りたいブランチの名前
git push -u origin 先程作成したローカルのブランチ名
####②リモートのブランチを基にしたブランチをローカルに作ってリモートに登録
git checkout -b ローカルに作成するブランチ名 origin/リモートのブランチ名
git push -u origin 作成したブランチ名
これでリモートにブランチができたはずです。
ただし、これだとまだローカルの変更が反映されていない状態なので
add
とcommit
を使って変更を反映させていきます。
git add .
git commit -a -m "てすと"
git push origin 作成したブランチ名
##MargeRequest
下記画像のMerge request
を押して次に進みます。
色々とコメントやらタイトルやらを書いてリクエスト送ります。
そうすると、下記画像のように、変更箇所が見れます。
今回の変更箇所は、完全に新たなファイルであって
何かしらのファイルに修正を加えたものではありません。
なので、差分等は表示されていない状態です。
今回はなんかの間違いでこのコードのマージが通ってしまった、、、
という仮設定で進んでいきます。
##レビュー
###変更の差分
誤ってマージされていたクソコードをリファクタリングし、
再度ブランチを切ってマージリクエストを送ります。
そうすると、下記画像のように増えた箇所、減った箇所をそれぞれ緑、ピンクで教えてくれます。
###コメントする
コメントしたいコードの行にカーソルを合わせると
吹き出しマークが出てきます。
あとは、クリックして適当にコメントしてComment
を押せばOKです。
コメントにリプライを送ることもできます。
全部ひとりでやってるのでカオスですが、非常に便利ですね。
修正後に前回のコメントが書いてあった箇所を見る方法もちゃんとあります。
version1
として遡って見ることが可能です。
##WIPについて
マージリクエストを送る際のタイトルにはデフォルトで
WIP
という文字がついています。
意味はWork In Progress
で、**まだ作業中だからマージしないようにね!**ってことです。
WIP:
という文字列をつけることで、マージボタンを非表示にできます。
マージしたい時はResolve WIP status
を押せばマージボタンが出現します。
##その他使ったコマンド
git branch -vv
git branch -u origin/[ブランチ名]
uはupstreamの略らしいです。
##参考リンク
仕様書のレビューをGitlabのMerge Requestでやろう!
GitLabでタイトルにWIP:を付けるとマージボタンをdisableにすることができる
[git]ローカルブランチがどのリモートブランチを追跡してるのか確認する方法