Open9

fzf使いこなしジツ

FruitRiinFruitRiin

git-change-branch

git branch | sed -e "s/^."* //g" | fzf --preview "git log --pretty='%h - %s' {}" | xargs git switch

git branch してローカルのブランチを一覧
sedでブランチ名を抽出
そのブランチのgit log をpreview
選択して git switch

FruitRiinFruitRiin

git-delete-branch

'git branch | fzf --preview "git log --pretty=one {}" | xargs git branch -D'
ブランチが消せる

FruitRiinFruitRiin

git-pullpullrequest

gh pr list | fzf | awk '{print $1}' | xargs gh pr checkout

必要: gh コマンド

gh pr でリポジトリのPRを一覧
awk でPRのNoを取得
gh checkoutでチェックアウト

FruitRiinFruitRiin

git-reset

git log --pretty="%h - %s" | fzf | awk '{print $1}' | xargs git reset

git-reset (soft reset) も git-reset --hard (hard reset) もできるよ

FruitRiinFruitRiin

fzfを使いnpm run 〇〇を一覧から選んで実行|eetann / えーたん https://zenn.dev/eetann/articles/2022-06-19-fzf-npm-scripts #zenn

FruitRiinFruitRiin

fish + yarn

function yarn-script
  if ! test -f package.json
    echo 'fzf_npm_scripts'
    echo 'There is no package.json'
    return 1
  end
  if ! type jq > /dev/null
    echo 'fzf_npm_scripts'
    echo 'jq command is required'
    return 1
  end

  set scripts (jq -r '.scripts | to_entries | .[] | .key + " = " + .value' package.json 2>/dev/null | string collect)
  set selected (echo $scripts | FZF_DEFAULT_OPTS='' fzf --height=50% --reverse --exit-0 | awk -F ' = ' '{ print $1}')

  if ! test $selected
    return 0
  end
  yarn $selected
end