Zenn
Closed8

gitまわりの環境設定

ぱんだぱんだ

git config

とりあえず、mizchiさんのXのポストで気になってたのでconfigちゃんと設定しようと思います。

https://x.com/mizchi/status/1896790925822861502

元記事

https://blog.gitbutler.com/how-git-core-devs-configure-git/

もともとあったやつに追加などして最終的にこうなった

[alias]
  # いい感じのグラフでログを表示
  graph = log --graph --date=short --decorate=short --pretty=format:'%Cgreen%h %Creset%cd %Cblue%cn %Cred%d %Creset%s'
  # 上の省略形
  gr = log --graph --date=short --decorate=short --pretty=format:'%Cgreen%h %Creset%cd %Cblue%cn %Cred%d %Creset%s'
  st = status
  cm = commit
  # Untracked filesを表示せず,not stagedと,stagedだけの状態を出力する
  stt = status -uno
  # 行ごとの差分じゃなくて,単語レベルでの差分を色付きで表示する
  difff = diff --word-diff
  # ref https://qiita.com/mizchi/items/dcdc57f748a1d6cc3648
  delete-merged-branches = !git branch --merged | grep -v \\* | xargs -I % git branch -d %
[column]
  ui = auto
[branch]
  sort = -committerdate
[tag]
  sort = version:refname
[init]
  defaultBranch = main
  templatedir = ~/.git_template
[diff]
  algorithm = histogram
  colorMoved = plain
  mnemonicPrefix = true
  renames = true
[push]
  default = simple
  autoSetupRemote = true
  followTags = true
[fetch]
  prune = true
  pruneTags = true
  all = true
[pull]
  rebase = true
[rerere]
  enabled = true
  autoupdate = true
[rebase]
  autoSquash = true
  autoStash = true
  updateRefs = true
[merge]
  conflictstyle = zdiff3 
ぱんだぱんだ

gh

ghはすでに使ってる。とはいえ、あんまり使ってはないので機会があったら積極的に使っていきたい。
特に新しくリポジトリを作成する時はコード書き始めて後からブラウザのGitHubでリポジトリを作成してたから、ghで予めリポジトリをCLIで作るようにしていこう。

ぱんだぱんだ

ghq

これは認識はしてたけどあんまり必要性を感じてなかった。

brew install ghq

ためしにプロフィールリポジトリをcloneしてみた

ghq get JY8752

~/ghq/github.com/JY8752/JY8752にcloneされた。clone先を変えたければ設定すればできそう。
これでどこにcloneするかを考えずにとりあえずghq getしておけばよさそう。

あとはCtl + gでghq getしてきたリポジトリの一覧から選択してそのプロジェクトルートに移動できるようにした。

ぱんだぱんだ

aiによるgit commitの自動生成

上述のcz-gitのところで書いたがaiによるcommitの自動生成が気になる。もともと、英語もそんなに得意ではないし、日本語だとしてもコミットメッセージを考えるのは苦手だったのでここは早々にaiにやってもらいたいと思ってた。

cz-git以外にもaicommits, OpenCommit, auto-commitといったものが存在するらしい。

https://zenn.dev/hayato94087/articles/8193b7f7fd6f76

いずれも、OpenAIのAPIキーを設定して、使う感じで完全無料では使えなさそう。とはいえ、大した額ではないのでケチるところではないのかもしれない。

ただ、気づいたらCursorにもcommitメッセージの自動生成機能は実装されていて生成されたメッセージに満足できるかというと微妙だがそれは、そもそもコミットする変更の粒度などの問題が大いにあると思っているのでCursorのせいではないかもしれない。

とりあえず、Cursor課金しているし、頻繁にcommitするような開発スタイルではない(よくない)のでそこまで必須ではないというかそこまで生産性的に変わらんやろと思ったのでとりあえずCursorの自動コミットを使ってみる。

ぱんだぱんだ

lazy-git

悩んだけどあんまり新しく覚えることは多くしたくなかったので導入はやめた。基本的なgit操作はCLIでやることがほとんどだけど、実行する操作は決まった操作が多いし、zshの補完とかも設定したからそんなに困らなそう。実際、今そんなに困ってないし。

ただ、使ってるとなんかかっこよさそうというのはあるのでいつか導入するかもしれない。

ぱんだぱんだ

git-nowとかあったな

https://qiita.com/k_tada/items/4b7ae126e6c5df2cb33c

昔頑張ってgit nowでコミット積んで最後にgit rebase -iするみたいな運用してみようとしたことあるけど早々に心折れたのでやめた。

コミットを綺麗にまとめるにはいい方法だなと思うのだけどあっちもこっちも修正して気づいたら1コミットがまあまあのでかさになることが多いのであんまり自分にはあってない気がしている。

小さく、細かくコミットを積んでいくスタイルには相性が良いんだろうなと思う。それこそ、前述のlazy-gitなんかもそう。そもそもコミットする機会が自分は人より少ないんだと思う。

このスクラップは10日前にクローズされました
ログインするとコメントできます