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
今年学んだ便利ツール_便利技
Search
Ryu-nakayama
December 15, 2023
Programming
0
1.7k
今年学んだ便利ツール_便利技
2023/12/15のmobile.stmn#3登壇資料
Ryu-nakayama
December 15, 2023
Tweet
Share
More Decks by Ryu-nakayama
See All by Ryu-nakayama
Swift Macroでメソッドの実行時間を計測できるようにしてみた
ryunakayama
1
68
Appleの審査担当の方とお話ししてみた!
ryunakayama
0
220
大公開!iOS開発の悩みトップ5 〜iOSDC Japan 2024〜
ryunakayama
0
240
Translation API について 〜WWDC24〜
ryunakayama
0
220
効率化に挑戦してみたらモバイル開発が少し快適になった話
ryunakayama
0
1.7k
新卒1年目がプロジェクトを進めるときにコケたポイント
ryunakayama
1
1.7k
期限が近づいてきた!Privacy Manifests対応
ryunakayama
5
10k
新卒iOSエンジニアとしてやってきたこと
ryunakayama
0
1.8k
git worktreeを使って複数ブランチを扱いやすくする
ryunakayama
0
3k
Other Decks in Programming
See All in Programming
Nurturing OpenJDK distribution: Eclipse Temurin Success History and plan
ivargrimstad
0
890
Jakarta EE meets AI
ivargrimstad
0
140
Jakarta EE meets AI
ivargrimstad
0
600
NSOutlineView何もわからん:( 前編 / I Don't Understand About NSOutlineView :( Pt. 1
usagimaru
0
330
ローコードSaaSのUXを向上させるためのTypeScript
taro28
1
610
Compose 1.7のTextFieldはPOBox Plusで日本語変換できない
tomoya0x00
0
190
Realtime API 入門
riofujimon
0
150
WebフロントエンドにおけるGraphQL(あるいはバックエンドのAPI)との向き合い方 / #241106_plk_frontend
izumin5210
4
1.4k
どうして僕の作ったクラスが手続き型と言われなきゃいけないんですか
akikogoto
1
120
What’s New in Compose Multiplatform - A Live Tour (droidcon London 2024)
zsmb
1
470
聞き手から登壇者へ: RubyKaigi2024 LTでの初挑戦が 教えてくれた、可能性の星
mikik0
1
130
イベント駆動で成長して委員会
happymana
1
320
Featured
See All Featured
Let's Do A Bunch of Simple Stuff to Make Websites Faster
chriscoyier
506
140k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
26
1.4k
The Invisible Side of Design
smashingmag
298
50k
Bootstrapping a Software Product
garrettdimon
PRO
305
110k
5 minutes of I Can Smell Your CMS
philhawksworth
202
19k
Visualizing Your Data: Incorporating Mongo into Loggly Infrastructure
mongodb
42
9.2k
What's in a price? How to price your products and services
michaelherold
243
12k
Why You Should Never Use an ORM
jnunemaker
PRO
54
9.1k
Optimising Largest Contentful Paint
csswizardry
33
2.9k
Keith and Marios Guide to Fast Websites
keithpitt
409
22k
A Tale of Four Properties
chriscoyier
156
23k
Become a Pro
speakerdeck
PRO
25
5k
Transcript
Chatwork株式会社 中山 龍 2023年12月15日 今年学んだ便利ツール/便利技
自己紹介 中山 龍 (なかやま りゅう) • Chatwork株式会社 ◦ iOSエンジニア ◦
2023年4月 新卒として入社 ◦ 社内最年少 (2002年6月生まれの21歳) • 愛知県在住 ◦ フルリモート勤務 ◦ 今のところ本イベントLT枠 皆勤賞 2 @ryu_develop
develop 開発する際のローカルのブランチ状況(例) 3 1 作業用 2 レビュー用 3 モブプロ用 4
最新の開発状況 動作確認で使用 チケット作業 で使用 手元でコードを 見たいときに使用 × チケット数
develop 開発する際のローカルのブランチ状況(例) 4 1 作業用 2 レビュー用 3 モブプロ用 4
最新の開発状況 動作確認で使用 チケット作業 で使用 手元でコードを 見たいときに使用 × チケット数 複数ブランチを扱っている
develop 開発する際のローカルのブランチ状況(例) 5 1 作業用 2 レビュー用 3 モブプロ用 4
最新の開発状況 動作確認で使用 チケット作業 で使用 手元でコードを 見たいときに使用 × チケット数 複数ブランチを扱っている 今から紹介する3つの合せ技で解決している ので、その方法を紹介します
便利ツール1: 『Fork』
Fork Fork: gitのクライアントアプリ 7 • コマンドを叩くことなくgitの操作ができる • GUIで表示でき、コードの変更箇所やブランチの状況などが確認しやすい • コンフリクトの解消もできる
• 部分を選択してステージしたり取り消したりもできる などなど、gitの操作がとても楽になる
Fork 複数ブランチのコミットをGUIで見れたり、コミットの情報も見やすい 8
Fork ポイント!タブとしてディレクトリ単位で開くことができる 9
Fork コミットするときも変更がある箇所を確認しやすい 10
Fork コンフリクトの解消もGUIで比較しながら行える 11
便利ツール2: 『iTerm2』
iTerm2 13 iTerm2: ターミナルアプリ 同期からのおすすめで使ってみた • ブランチ名が表示されていたり • 変更の有無が表示されたり •
コマンドに色がついたり • 過去に実行したコマンドを基に入力中のコマンドを推測してくれたり こちらの記事( Mac初心者に優しいターミナルにする( iTerm2/Oh My Zsh) )を参考に設定した
iTerm2 14 iTerm2: ターミナルアプリ Mac標準のターミナルよりも多機能で、コマンド弱々の自分のような人でもある補 完に助けてもらえるのが良い! (あと、コマンドラインがカラフルだったほうが少しテンション上がる) 【役立つシーン】 • ForkにはないようなGitコマンドを何度も実行する必要があるとき
• 自分がいるディレクトリは現在どのブランチなのかを知るとき
便利技: git-worktree
git-worktreeとは git-worktree: ディレクトリの移動でブランチを切り替えられる便利技 16
develop 開発する際のローカルのブランチ状況(例) 17 1 作業用 2 レビュー用 3 モブプロ用 4
最新の開発状況 動作確認で使用 チケット作業 で使用 手元でコードを 見たいときに使用 × チケット数 複数ブランチを扱っている
• stashしてブランチを切り替える • ブランチごとに新しくcloneする 複数ブランチを扱う場合 どうブランチを切り替えるか?
• stashしてブランチを切り替える • ブランチごとに新しくcloneする 複数ブランチを扱う場合 どうブランチを切り替えるか? git worktree
git worktreeのイメージ 1つのリポジトリに対して ブランチごとに作業ディレクトリ を作成するイメージ 20 リポジトリ ブランチ1 のワークツリー ブランチ2
のワークツリー ブランチごとに ディレクトリ作成
git worktreeで実現できること 21 git stashをして切り替える必要がなくなる 複数ヶ所で同じブランチをいじってしまうのを防げる 各ブランチが独立したディレクトリ(ワークツリー)として存在する → ディレクトリを移動するだけでブランチが切り替わる clone場合、同じブランチから複数cloneできてしまい、複数のディレクトリから同じブラ
ンチをいじってしまうことが発生する git worktreeなら同じブランチから複数のディレクトリを作成できない → 複数のディレクトリで同じブランチをいじってしまうのを防げる
git worktreeで実現できること git stashをして切り替える必要がなくなる 複数ヶ所で同じブランチをいじってしまうのを防げる 各ブランチが独立したディレクトリ(ワークツリー)として存在する → ディレクトリを移動するだけでブランチが切り替わる clone場合、同じブランチから複数cloneできてしまい、複数のディレクトリから同じブラ ンチをいじってしまうことが発生する
git worktreeなら同じブランチから複数のディレクトリを作成できない → 複数のディレクトリで同じブランチをいじってしまうのを防げる 複数ブランチを扱いやすい! 22
過去資料 23 過去にLTした資料もあるのでどうぞ 👀
3つを合わせて...
3つ合わせて... 1. iTermで過去に実行したgit-worktreeのコマンドを呼び出し、コマンド内の 「対象ブランチ」などの部分を少しだけ書き換えて実行する → 対象ブランチを扱うディレクトリが作成される 2. 扱いたいブランチと紐づいたディレクトリを、Forkでタブとして開く 3. Gitの操作を行いたいときには、Forkのタブを切り替える。それだけでGitの操
作をするブランチの切り替えが済む 25
最後に
便利ツールや便利技について紹介してきましたが... 社会人になって、新しい環境に入ってみて思った。 他人から学ぶことってめっちゃ多い 27 ペアプロ中に使ってるツールとか、Xcodeの操作で • 「それってなんてツールですか?」 • 「今の操作ってどうやったんですか?」 といった感じで、予期せぬ学びが生まれたな〜と思いました
来年も「それ、なんですか?」をたくさんやります
働くをもっと楽しく、創造的に