lvncerpedia

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上級者感出るやつやる?😏