Upgrade to Pro — share decks privately, control downloads, hide ads and more …

ghqでソースコードを管理しよう/2021-03-23-llt20

 ghqでソースコードを管理しよう/2021-03-23-llt20

社内のLTイベント「えるLT Vol.20 オンライン」で発表した資料です

Ebc0665c43d158c6e6450c7bd2de2fe0?s=128

Satoshi SAKAO

March 23, 2021
Tweet

Transcript

  1. ghqでソースコードを管理しよう Satoshi SAKAO えるLT Vol.20 2021-03-23 1

  2. 話すひと 2 🏢 インフォコム株式会社 品質マネジメント推進室 👨🔧 ソフトウェアエンジニア 🛠 JS (ES6)

    / Node.js / GCP / IoT / iOS (Swift) 💖 猫,テクテクライフ(ランク: 19) Satoshi SAKAO @ottijp
  3. git clone • リモートリポジトリをどこにクローンしてますか? • クローンしたリポジトリが点在してませんか? • クローンしたリポジトリに容易にアクセスできますか? 3

  4. ghq • https://github.com/x-motemen/ghq • リモートリポジトリの管理ツール • 特定のディレクトリ構造に従ってクローンしてくれる • Nature RemoのCTOの方がメインコントリビュータ兼スポンサ

    4
  5. ディレクトリ構造 5 ~/ghq |-- code.google.com/ | `-- p/ | `--

    vim/ `-- github.com/ |-- google/ | `-- go-github/ |-- motemen/ | `-- ghq/ `-- urfave/ `-- cli/ <ghq root> <host> <user> <repo>
  6. demo • vim というテキストエディタのソースをクローンする • GitHubなら <user>/<repo> の省略形式でOK • ghq

    get vim/vim 6
  7. 課題 • 一元管理はできるようになったが,リポジトリへのアクセスは? • ghq look という機能があるが, リポジトリ名を完全に覚えている必要がある 7

  8. そこで fzf 8 https://github.com/junegunn/fzf

  9. リポジトリのあいまい検索&移動 9 fzf-src() { local selected selected=`ghq list --full-path |

    fzf --query="$LBUFFER"` if [ -n "$selected" ]; then BUFFER="builtin cd $selected" zle accept-line fi zle reset-prompt } zle -N fzf-src bindkey '^Xs' fzf-src
  10. demo • ^Xs で検索開始 • fzfで選択したら自動で移動 10

  11. 11 やったね 🥴🎉

  12. まとめ • ghq を使ってソースコードを一元管理しよう • fzf は全人類が使おう 12

  13. 13 Appendix

  14. install 14 # windows scoop install ghq # mac brew

    install ghq # go go get github.com/x-motemen/ghq
  15. リポジトリの削除 • 手動です • rm -rf $(ghq root)/foo/bar/hoge 15

  16. fzf の活用例 • ブックマークのあいまい検索&移動 • 実行可能コマンドのあいまい検索&実行 • https://github.com/junegunn/fzf.vim 16