TechBlog masa

  • Top
  • Posts
  • Profile
2025-02-05
SWE
[コードレビュー] revieweeとreviewerの適切な対応 [Git][コードレビュー] revieweeとreviewerの適切な対応 [Git]
Git / GitHub

likes: 1

Unsupported Block: link_to_page
Unsupported Block: table_of_contents
Unsupported Block: heading_2

青いプラスボタンをドラッグする

https://tech-blog.cloud-config.jp/2019-10-02-try-multi-line-comments-on-github

Unsupported Block: heading_2

ファイル→ コード行の…のマーク→copy permalink

Unsupported Block: heading_2

[must], [want], [imo]とか [info], [ask]とか。

ちょうどいいと感じたもの:

https://dev.classmethod.jp/articles/prefixes-for-frequently-used-review-comments/

Unsupported Block: heading_2
  1. 普通にPR出す
  2. <レビュー: request changes>
  3. 修正コミットにコミットメッセージでfixupって付けといて「fixupとあるコミットはapprove後にリベースします!」的なコメントしておく(レビュアーは修正の差分だけ見れるから分かりやすいね)
  4. git push
  5. <レビュー: approve>
  6. git rebase -i @~n (最初のコミットハッシュ)によってfixupコメントをsquashでリベース
  7. git diff origin/{branch} {branch} によってリベース後に変な差が出てないかチェック
  8. gpff (git push fから始まるオプション2つ)
  9. マージ
Unsupported Block: heading_2
Unsupported Block: heading_3

npm ciしてね、headerにコレコレつけてpost/getしてね、.env作ってコレコレ貼り付けてね、とか。

 

Unsupported Block: heading_3

5年目エンジニアの方から(Untitled )

  • 昔の悪い設計(レガシー)に引っ張られて悪いコードになっちゃってるのは割とある。そこも自分から提案してぜひイシュー化して改善してほしい。すごくWelcome
  • このコードが「よくないけどしょうがない」と認識してやったのか、認識していないのかをレビュイーは書くべき。
    • レビュアーは施策の目的とかを知らない場合が多いから、その目的とかもPRコメントとかで載せるべきだね。
  • 責務の分離:バリデーションとUIの分離をしないといけないよ、など。
  • フォーマット・リントはpush前にちゃんとした?。

 

  • 言語化や現状把握の部分がレビュアーも身につく。
  • 業務が圧迫されていればレビューも分担する。

 

Unsupported Block: heading_3

https://zenn.dev/praha/articles/db1c4bcc4ef48c#%E2%9C%85%E8%A1%8C%E5%8D%98%E4%BD%8D%E3%81%AE%E3%82%B9%E3%83%86%E3%83%BC%E3%82%B8%E3%83%B3%E3%82%B0

エディタ上でコード行の緑、青のところをクリックして+、戻るっぽいボタン。GUIで完結、git add -pより詳細にできてる。

Unsupported Block: heading_3

Extension:Github Pull Requestsを使用。

サイドバーのGitのところからした画像のボタンでいける。

Unsupported Block: image

 

https://zenn.dev/keitakn/articles/github-code-review-reviewee#%E6%97%A9%E3%82%81%E3%81%ABdraft-pull-request%E3%82%92%E5%87%BA%E3%81%99

Draft Pull Request

Unsupported Block: quote

git commit --allow-empty を使って作業開始と同時にDraft Pull Requestを出し、以降はローカルでコミットした内容を随時反映させるスタイルがオススメです。

https://developer.so-tech.co.jp/entry/2022/09/14/120000

Unsupported Block: heading_2

https://qiita.com/inukai-masanori/items/82eb0626fd75f3eb0922

git add <filename>
git commit --fixup <commit id>

git rebase -i --autosquash <commit since>
# 注意: ""pick""とあるコミットをエディタ消すとコミットが消えるので注意。
# HEAD~4やcommit idを指定する。すると、fixupしたものがまとめられたコミットになる

https://zenn.dev/eic/articles/deeac541413d08

 

Unsupported Block: heading_2
# コミットをまとめる
# 注: @~3は「3つ前のコミットから始める」なので、2つ前のコミット〜現在のコミット(3つ)が対象になる。
git rebase -i @~3
pickをs(squash)に変えて、順序も変更

https://qiita.com/C_HERO/items/06669621a1eb12d8799e#%E3%82%A4%E3%83%A1%E3%83%BC%E3%82%B8%E5%9B%B3

https://backlog.com/ja/git-tutorial/stepup/33/

https://qiita.com/takke/items/3400b55becfd72769214

 

rebase後のpush forceは「—force-with-lease —force-if-includes」にしたほうが良い(aliasにすると良い)。

https://zenn.dev/mary_pp/articles/eaac544eaf600a

https://blog.masuyoshi.com/workend-git-rebase/

 

Unsupported Block: heading_2

https://qiita.com/getty104/items/a9b56f30744dfe52a05f

Unsupported Block: heading_2

https://qiita.com/kaiou_fight/items/b5baef954a324af73d00

吸収させたいコミットを、吸収先のコミットの下に持ってきてsquashにする。

pick 927a45d10a AAA
s 4d21b04ebd aaa
pick 4f279428c2 BBB
pick 8290801d07 CCC
pick 47185dc5bd DDD
s 592625c5cc ddd

# aaaがAAAに吸収、dddがDDDに吸収される

# コンフリクトしたら、どっちを残すか選んでaddからのgit rebase --continue。
# コンフリクトがなくなるまででこれを続ける

 

Unsupported Block: heading_2

https://qiita.com/KNR109/items/3b14e2e8f89a33c0f959#1%E7%AB%A0-%E7%90%86%E8%A7%A3%E3%81%97%E3%82%84%E3%81%99%E3%81%84%E3%82%B3%E3%83%BC%E3%83%89

breadcrumb予定地
profileCard予定地

SideBarPage

共有ボタン予定地
他ボタン予定地