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
270
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
JavaScriptのデバッグ/2023-09-04-llt30
ottijp
0
72
CDK for TerraformでAzureリソースをデプロイする/2023-05-15-llt29
ottijp
0
39
TWELITEへの誘い/2022-12-27-llt28
ottijp
0
100
ビルドツールBazelを触ってみた/2022-09-28-llt27
ottijp
0
77
HashiCorp Vaultを使ったシークレットのセキュアな一元管理 〜Ansibleを添えて〜/2022-07-12-llt26
ottijp
0
100
AWSインフラのデプロイをCDKでカイゼンする/2022-03-23-llt25
ottijp
0
47
Amazon Timestreamでデータ補間/2021-12-27-llt24
ottijp
0
55
ncurses/2021-05-12-llt21
ottijp
0
140
wasmer/2021-02-10-llt19
ottijp
1
110
Other Decks in Programming
See All in Programming
Open Source Swiftc Workshop
kitasuke
1
290
マイ隙間家具OSSたちのご紹介
karupanerura
2
160
決断するための勇気、そのためのBacklog / Courage to make decisions, Backlog for that.
seike460
PRO
4
1.9k
LPIXEL×CADDi_kaerururu
kaerururu
3
300
もうすぐ新年度、Babylon.jsがお勧めな3個の理由
hideg
0
170
CircleCIを活用して AWSへの継続的デリバリーを 実践する
coconala_engineer
1
110
受託開発でGitLab CI を活用していく
xiombatsg
1
130
Material 3で Material 2ぽい見た目にする
numeroanddev
2
250
生成 AI の中身を覗いてみよう〜基礎から医療現場での応用まで〜
soh9834
2
770
PHPでOfficeファイルを取り扱う! PHP Officeライブラリを プロダクトに組み込んだ話
hirobe1999
0
840
Ruby製社内ツールのGo移行
bgpat
2
270
ドメイン・ファーストで考える問題解決に役立つモデル設計 / Domain First Model Design
suzushin54
1
1.5k
Featured
See All Featured
Building Effective Engineering Teams - LeadDev
addyosmani
25
1.8k
The Invisible Customer
myddelton
114
12k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
272
12k
StorybookのUI Testing Handbookを読んだ
zakiyama
10
4.5k
Agile that works and the tools we love
rasmusluckow
323
20k
Atom: Resistance is Futile
akmur
258
25k
Facilitating Awesome Meetings
lara
39
5.5k
What’s in a name? Adding method to the madness
productmarketing
PRO
14
2.6k
Art, The Web, and Tiny UX
lynnandtonic
288
19k
JazzCon 2018 Closing Keynote - Leadership for the Reluctant Leader
reverentgeek
178
11k
Put a Button on it: Removing Barriers to Going Fast.
kastner
58
3k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
355
22k
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