Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
ghqでソースコードを管理しよう/2021-03-23-llt20
Search
Satoshi SAKAO
March 23, 2021
Programming
0
300
ghqでソースコードを管理しよう/2021-03-23-llt20
社内のLTイベント「えるLT Vol.20 オンライン」で発表した資料です
Satoshi SAKAO
March 23, 2021
Tweet
Share
More Decks by Satoshi SAKAO
See All by Satoshi SAKAO
Testcontainers/2024-11-20-llt32
ottijp
0
37
Pkl/2024-04-17-llt31
ottijp
0
70
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
140
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
1
240
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
140
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
140
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
130
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
78
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
94
Other Decks in Programming
See All in Programming
Making TCPSocket.new "Happy"!
coe401_
1
130
Vibe Codingをせずに Clineを使っている
watany
17
6.1k
Preact、HooksとSignalsの両立 / Preact: Harmonizing Hooks and Signals
ssssota
1
1.4k
MCP世界への招待: AIエンジニアが創る次世代エージェント連携の世界
gunta
4
880
PHP で学ぶ OAuth 入門
azuki
1
130
Chrome Extension Techniques from Hell
moznion
1
160
タイムゾーンの奥地は思ったよりも闇深いかもしれない
suguruooki
1
570
AIコードエディタの基盤となるLLMのFlutter性能評価
alquist4121
0
200
AI Agents with JavaScript
slobodan
0
220
Deoptimization: How YJIT Speeds Up Ruby by Slowing Down / RubyKaigi 2025
k0kubun
0
500
趣味全開のAITuber開発
kokushin
0
190
PHPバージョンアップから始めるOSSコントリビュート / how2oss-contribute
dmnlk
1
990
Featured
See All Featured
A Modern Web Designer's Workflow
chriscoyier
693
190k
Why You Should Never Use an ORM
jnunemaker
PRO
55
9.3k
Speed Design
sergeychernyshev
29
880
Build The Right Thing And Hit Your Dates
maggiecrowley
35
2.6k
Rails Girls Zürich Keynote
gr2m
94
13k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
5
520
It's Worth the Effort
3n
184
28k
Optimizing for Happiness
mojombo
377
70k
Code Review Best Practice
trishagee
67
18k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3.1k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
52
2.4k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
3.8k
Transcript
ghqでソースコードを管理しよう Satoshi SAKAO えるLT Vol.20 2021-03-23 1
話すひと 2 🏢 インフォコム株式会社 品質マネジメント推進室 👨🔧 ソフトウェアエンジニア 🛠 JS (ES6)
/ Node.js / GCP / IoT / iOS (Swift) 💖 猫,テクテクライフ(ランク: 19) Satoshi SAKAO @ottijp
git clone • リモートリポジトリをどこにクローンしてますか? • クローンしたリポジトリが点在してませんか? • クローンしたリポジトリに容易にアクセスできますか? 3
ghq • https://github.com/x-motemen/ghq • リモートリポジトリの管理ツール • 特定のディレクトリ構造に従ってクローンしてくれる • Nature RemoのCTOの方がメインコントリビュータ兼スポンサ
4
ディレクトリ構造 5 ~/ghq |-- code.google.com/ | `-- p/ | `--
vim/ `-- github.com/ |-- google/ | `-- go-github/ |-- motemen/ | `-- ghq/ `-- urfave/ `-- cli/ <ghq root> <host> <user> <repo>
demo • vim というテキストエディタのソースをクローンする • GitHubなら <user>/<repo> の省略形式でOK • ghq
get vim/vim 6
課題 • 一元管理はできるようになったが,リポジトリへのアクセスは? • ghq look という機能があるが, リポジトリ名を完全に覚えている必要がある 7
そこで fzf 8 https://github.com/junegunn/fzf
リポジトリのあいまい検索&移動 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
demo • ^Xs で検索開始 • fzfで選択したら自動で移動 10
11 やったね 🥴🎉
まとめ • ghq を使ってソースコードを一元管理しよう • fzf は全人類が使おう 12
13 Appendix
install 14 # windows scoop install ghq # mac brew
install ghq # go go get github.com/x-motemen/ghq
リポジトリの削除 • 手動です • rm -rf $(ghq root)/foo/bar/hoge 15
fzf の活用例 • ブックマークのあいまい検索&移動 • 実行可能コマンドのあいまい検索&実行 • https://github.com/junegunn/fzf.vim 16