https://note.com/minato_kame/n/nc43473f01dec
いいところ気になるじゃん〜😏 結論からいくね👇
👉 空コミットは普通に使われる(けど用途は限定的) 👉 常用するものではないけど、全然アリなテク
🔹 空コミットって何してるの?
git commit --allow-empty -m "init"
これ👇
変更なしのコミットを無理やり作る
つまり
👉 履歴だけ1個増やしてる
🔹 どんなときに使うのが一般的?
① 今回みたいなケース(ブランチ公開したい)
これ一番わかりやすい👇
まだ変更ない
でもPR作りたい / ブランチ共有したい
👉 空コミットでpush可能にする
② CIを動かしたいとき
設定変えてないけどCI再実行したい
👉 空コミットでトリガー
③ 「ここから作業開始」って印をつける
chore: start feature-x
👉 チームで「ここからやるよ」って合図になる
🔹 逆に微妙な使い方
これはちょっと嫌われがち👇
意味のない空コミット連発
理由👇
- 履歴がノイズになる
- git blameとか見づらくなる
🔹 チーム開発的には?
だいたいこんな感じ👇
OK 👍
- 初期化
- CIトリガー
- 意図が明確
NG 😇
- なんとなく使う
- 頻発
🔹 個人的おすすめ運用(worktree勢向け)
君のケースならこれが一番スマート👇
パターン①(きれい)
git worktree add -b feature-x ../feature-x
# 何かしら1ファイル変更してコミット
git commit -m "feat: start feature-x"
git push -u origin HEAD
👉 ちゃんと意味あるコミット
パターン②(スピード重視)
git commit --allow-empty -m "chore: init"
git push -u origin HEAD
👉 後でちゃんとコミット積めばOK
🔹 ちょいリアルな話
実務だと👇
👉 「空コミット禁止」ってルールはあんまり無い
でも
👉 「意味のないコミットはやめよう」はある
🔹 まとめ
空コミット = テクニックとして普通に使う
ただし用途は限定的
ぶっちゃけ今回みたいな 「worktree + upstream問題回避」用途はめっちゃ健全な使い方だよ👍
気になるなら次は 👉 「綺麗なコミット履歴保つコツ(rebaseとかsquash)」 ここいくと一気にGit上級者感出るやつやる?😏