推奨ツール
vibe coding + organic coding していて
| ツール | 用途 | インストール |
|---|---|---|
| GitUI | TUI操作 | brew install gitui |
| delta | 差分表示 | brew install git-delta |
| czg | コミット作成 | npm i -g czg |
| ccmanager | AIセッション管理 | npm i -g ccmanager |
| gitleaks | セキュリティ | brew install gitleaks |
| gh | GitHub CLI | brew install gh |
| fzf | 高速選択 | brew install fzf |
| gibo | .gitignore生成 | brew install gibo |
日常開発フロー
ぼくのさいきょうの git コマンド集です。や〜シェルのエイリアスで設定してたんだけど思い出せなくなっちゃうので git で貼りました。amend とかを fixup に統合できたりしていい感じや〜🎵
VSCode とかの GUI に移動するのがめんどうな時は GitUI と czg でらくらく Conventional Commits できます。
# 基本操作
git pl # pull --ff-only
git ps # push
git sw main # switch
git st # status -sb
git lg # GitGraph
gitui # 差分確認・ステージング (VSCodeに移動したくない時)
czg # Conventional Commitsでコミット
# 機能開発
git sw -c feat/new-feature # ブランチ作成
gitui && czg # コミット
git publish # push -u origin branch
gh browse # ブラウザでPR作成
gh pr checks --watch # CI監視
# マージ作業
git pull --rebase origin main # mainの最新を取得してリベース
git please # push --force-with-lease
gh pr view -w # 現在のPRをブラウザで開いてマージ
git sw main && git pl # mainブランチに移動
git cleanup # マージ済みブランチ削除
# トラブル対処
git undo # コミット取り消し
git fixup # amend
git fixup HEAD~2 # fixup して rebase --autosquash
# その他
gibo dump Node > .gitignore # .gitignore生成
git search "login" # 検索してコンテキスト全体を表示(git-grep -W -n)
git gc --aggressive # リポジトリ最適化Claude Code (worktree 管理)
AIとの並行作業に最適化。worktreeで実験的な変更を隔離し、ccmanagerで複数のAIセッションを効率的に管理。メインの作業を邪魔せずに、AIに大胆な変更を試させることができる。
gitconfig
マージは常にfast-forwardのみ、強制プッシュはforce-with-leaseで安全に。deltaで美しい差分表示、rereでコンフリクト解決を記憶。余計な設定は排除し、本当に必要なものだけを厳選。
[user]
name = anko9801
email = 37263451+anko9801@users.noreply.github.com
signingkey = ssh-ed25519 AAAAC3NzaC1lZDI1NTE5AAAAIEpnmapaBsLWiMwmg201YFSh8J776ICJ8GnOEs5YmT/M
[core]
editor = vim
autocrlf = false
safecrlf = true
filemode = false
pager = delta
hooksPath = ~/.config/git/hooks
[color]
ui = auto
[merge]
tool = vimdiff
conflictstyle = diff3
[diff]
renames = true
[interactive]
diffFilter = delta --color-only
[delta]
navigate = true
light = false
side-by-side = true
line-numbers = true
[pull]
ff = only
[push]
autoSetupRemote = true
default = current
[fetch]
prune = true
fsckobjects = true
[rebase]
autostash = true
autosquash = true
[init]
defaultBranch = main
[commit]
verbose = true
gpgsign = true
[tag]
gpgsign = true
[gpg]
format = ssh
[gpg "ssh"]
program = /Applications/1Password.app/Contents/MacOS/op-ssh-sign
allowedSignersFile = ~/.config/git/allowed_signers
[help]
autocorrect = prompt
[rerere]
enabled = true
[branch]
autosetupmerge = always
autosetuprebase = always
[status]
showUntrackedFiles = all
[transfer]
fsckobjects = true
[receive]
fsckObjects = true
[credential]
helper = osxkeychain
[alias]
st = status -sb
co = checkout
br = branch
sw = switch
re = restore
# Commit operations
c = commit
cm = commit -m
a = add --all
amend = commit --amend --no-edit
undo = reset HEAD~1 --mixed
fixup = "!f() { git commit --fixup=amend:${1:-HEAD} && git rebase -i --autosquash ${1:-HEAD}^; }; f"
# Push/Pull operations
ps = push
pl = pull
f = fetch --prune
please = push --force-with-lease
# Log and history
lg = log --oneline --graph --decorate
la = log --oneline --graph --decorate --all
last = log -1 HEAD
contributors = shortlog -sn
# Diff operations
df = diff --color-words
staged = diff --staged
unstage = reset HEAD --
# Branch management
cleanup = !git branch --merged | grep -v "\\*\\|main\\|master\\|develop" | xargs -n 1 git branch -d
publish = !git push -u origin $(git branch --show-current)
# Search (git-grep)
search = grep -W -n
todo = grep -n "TODO\\|FIXME\\|XXX\\|HACK"