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
Jujutsuを使うモチベーション
Search
thirdlf03
August 23, 2025
0
28
Jujutsuを使うモチベーション
thirdlf03
August 23, 2025
Tweet
Share
More Decks by thirdlf03
See All by thirdlf03
cursorで実践するContext Engineering
thirdlf03
1
31
Cloudflare Containers使ってみた
thirdlf03
1
17
自己紹介
thirdlf03
0
15
uv + ruff + tyを使ったモダンな環境でdiscord bot作ってみよう(Genspark製)
thirdlf03
0
13
Workers-rs使ってみた
thirdlf03
0
13
プログラミングを教えるときに大切なこと
thirdlf03
0
15
自己紹介
thirdlf03
0
44
チーム開発におけるベストプラクティス、バッドプラクティス
thirdlf03
0
32
progate pathの実務タスクはいいぞ〜
thirdlf03
0
49
Featured
See All Featured
Gamification - CAS2011
davidbonilla
81
5.5k
Java REST API Framework Comparison - PWX 2021
mraible
34
8.9k
Sharpening the Axe: The Primacy of Toolmaking
bcantrill
46
2.5k
For a Future-Friendly Web
brad_frost
180
10k
Practical Orchestrator
shlominoach
190
11k
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
285
14k
Being A Developer After 40
akosma
91
590k
"I'm Feeling Lucky" - Building Great Search Experiences for Today's Users (#IAC19)
danielanewman
231
22k
How to Ace a Technical Interview
jacobian
280
24k
[RailsConf 2023] Rails as a piece of cake
palkan
57
6k
Put a Button on it: Removing Barriers to Going Fast.
kastner
60
4.1k
The Straight Up "How To Draw Better" Workshop
denniskardys
239
140k
Transcript
JujutsuΛ͏Ϟνϕʔγϣϯ @thirdlf
ࣗݾհ • ໊લ: thirdlf(͞ͲΔ;) • झຯ: ϋοΧιϯɺϥΠϒ • ࠷ۙϨΠϠʔʹڵຯ͋Γ
GitΛͬͨ͜ͱ͋Δํ🙋
JujutsuͬͯVCSͬͯΔํ🙋 㕩ઓͷํͰͳ͍Ͱ͢
GitΛ͏Ϟνϕʔγϣϯ ͍ΖΜͳཧ༝͕͋ͬͯɺGitΛ͍ͬͯΔͱࢥ͏͕… Ұ൪ͷϞνϕʔγϣϯɺϑΝΠϧͷཤྺཧ(όʔδϣϯཧ)͍ͨ͠ ͔Βͩͱࢥ͍·͢ʂ
ͨͩɺgit logݟͨ࣌ʹ͜Μͳϩάʹ ͳͬͨܦݧ͋Γ·ͤΜ͔ʁ
… Ұ୴ίϛοτͨ͠ΓɺtypoͰίϛο τͨ͠Γ…
ଞʹGit͍ͬͯΔ࣌ʹ… • ίϯϑϦΫτىͬͯ͜࡞ۀ͕ࢭ·ͬͯ͠·ͬͨ • ίϛοτ࿙Ε • git resetrevertΛ࣮ߦ͢Δͷ͕ා͍ • ෳࡶͳཤྺฤू͕ԯ߷
ͦΜͳΈΛղܾͯ͘͠ΕΔͷ͕ JujutsuͰ͢ʂ
Jujutsuͱʁ JujutsuɺRustͷVCS ࡞ऀɺGoogleͷιϑτΣΞΤϯδχΞͰɺGoogleͷطଘͷVCS ʢPerforceɺPiperɺMercurialʣΛஔ͖͑ΔํͰ։ൃ͕ਐΊΒΕͯ ͍ΔΒ͍͠ɻ https://github.com/jj-vcs/jj
Jujutsuͷಛ • Gitͱޓੑ͕͋Δ • git addʹ͋ͨΔίϚϯυ͕ͳ͍ • Change ID •
ίϯϑϦΫτͰΤϥʔ͕ى͖ͳ͍ • ίϚϯυͷཤྺ͕Δ Jujutsuͷಛ
Gitͱޓੑ͕͋Δ GitHubͬͨΓɺGitͱซ༻ͨ͠ΓͰ͖Δ ➡νʔϜϝϯόʔGitɺࣗjjՄ ➡طଘͷϓϩδΣΫτΛঃʑʹjjʹҠߦͨ͠ΓͰ͖Δ
git addʹ͋ͨΔίϚϯυ͕ͳ͍ ϑΝΠϧ͕Ճ͞ΕͨΓɺมߋ͞ΕΔͱࣗಈͰ ➡ίϛοτ࿙Ε͕ͳ͘ͳΔ *.gitignoreͰର֎ʹͰ͖ͨΓɺjj splitͰίϛοτʹؚΊΔϑΝΠ ϧͳͲબΔ
Change ID JujutsuʹɺՄมͷCommit IDͱෆมͷChange ID͕ଘࡏ͢Δɻ zzzzzzzzͷ෦͕Change IDɺ00000000͕Commit ID
ίϯϑϦΫτͰΤϥʔ͕ى͖ͳ͍ ίϯϑϦΫτίϛοτͷதʹཧతͳঢ়ଶͱͯ͠ه͞ΕΔ
ίϚϯυͷཤྺ͕Δ jj op logͰίϚϯυͷϩά͕ݟΔ͜ͱ͕Ͱ͖Δ jj op undoͰҰͭલͷίϚϯυΛ࣮ߦ͢Δલͷঢ়ଶʹͬͨΓɺjj op restore opidࢦఆ͢ΔͱɺͦͷidͷίϚϯυΛߦͳ͏ͷঢ়ଶʹΔ͜ͱ
͕Ͱ͖Δ
None
JujutsuΛ͏Ϟνϕʔγϣϯ ͱʹ͔͘։ൃʹ಄Ͱ͖Δɻཤྺฤूා͘ͳ͍ʂ ➡ ࡞ۀ͢ΔखΛࢭΊͳ͍͍ͯ͘ʂʂʂʂʂ AIΛͬͨ։ൃͱ૬ੑ͕͍͍ ➡ jj workspaceͰ git workspaceͷΑ͏ͳ͜ͱ͕Ͱ͖ͨΓɺฒྻ։ൃ͍ͤͯ͞Δ࣌ʹίϯϑϦ
Ϋτ͕ى͖ͯޙ͔ΒղܾͰ͖Δʂʂ ʮෳͷGemini CLI͕ಉ࣌։ൃ͢Δڰؾ - Jujutsu͕࣮ݱ͢ΔAIΤʔδΣϯτڠௐͷ৽ੈքʯͱ ݕࡧͯ͠Έ͍ͯͩ͘͞
͖ͳίϚϯυ • jj log • jj edit • jj absorb
jj log σϑΥϧτͰάϥϑදࣔ͞ΕΔͷ͕ ͖
jj edit ࢦఆͨ͠Change ID or Commit IDʹ Ҡಈ͠ɺίϛοτΛฤू͢Δ͜ͱ͕ Ͱ͖Δ ࠓճɺippai
henkouΛׂ͍ͨ͠
ฤूޙ ฤूલ
jj absorb ͍͍ײ͡ʹϑΝΠϧͷมߋΛաڈͷίϛ οτʹऔΓࠐΜͰ͘ΕΔ ྫ͑ɺλΠϙϛεΛฤूͨ͠ޙɺ absorb͏ͱ࠷ޙͦͷϑΝΠϧΛมߋ͠ ͨίϛοτʹऔΓࠐΜͰ͘ΕΔ ➡ fi x
typoίϛοτͳͲΛ࡞Βͳ͍͍ͯ͘
·ͱΊ • Jujutsu͍͍ͧʔ • Gitͱซ༻Ͱࢼͯ͠Έͯʂʂ