Steve가 Jujutsu 버전 관리 시스템을 배우며 정리한 입문 튜토리얼의 배경과 목적을 소개합니다.
안녕하세요, 저는 Steve입니다. 이것은 Jujutsu—버전 관리 시스템을 위한 튜토리얼입니다.
이 튜토리얼이 존재하는 이유는 제 개인적인 특성 하나 때문입니다. 저는 무언가를 배우는 동안 그것에 관한 튜토리얼을 쓰는 것을 정말 좋아합니다. 이것은 TRPL의 뒷이야기이기도 한데, 그 아주 오래된 초안은 "Rust for Rubyists"였습니다. 문제를 초보자의 시선으로 바라볼 기회는 한 번뿐이기 때문에, 저는 이런 것들을 기록해 두는 일이 흥미롭다고 생각합니다. 그리고 제가 배우고 있는 것을 스스로에게 분명하게 정리하는 데에도 도움이 됩니다.
어쨌든, 저는 오랫동안 버전 관리에 관심이 있었습니다. 저는 git의 CLI를 싫어하지 않는 유일한 사람처럼 느껴집니다. 이상하죠. 또 저는 친구들이 "stacked diffs"를 극찬하는 이야기도 들었지만, 거기서 정확히 무슨 일이 일어나고 있는지 이해하는 데 어려움을 겪었습니다. 제가 읽은 어떤 글이나 나눴던 어떤 대화도 딱 와닿지는 않았습니다.
한 번은 이 주제에 대해 Rain과 이야기하고 있었는데, 그녀가 jj가 아주 멋지다고 말했습니다. 저는 그것을 들여다봤지만 이해하지 못했습니다. 그래서 이 주제로는 나중에 다시 돌아오자고 마음먹었습니다. Rust를 배울 때 사람들이 아주 흔하게 겪는 일 중 하나는, 일단 시도해 보고 좌절해서 그만둔 다음 몇 달 뒤에 다시 돌아왔더니 쉽게 느껴지고 예전에 무엇 때문에 그렇게 힘들어했는지 모르겠다는 것입니다. 물론 어떤 사람들은 다시 시도하지 않기도 하고, 다시 시도해도 그 고비를 넘지 못하기도 하지만, 예전에는 이런 일이 꽤 자주 일어났고 그래서 눈에 띌 정도였습니다. 그래서 저는 jj에 대해서도 그렇게 하기로 했습니다. 이건 나중에 알아내면 된다고 생각했습니다.
그런데 최근에 Chris Krycho가 jj에 관한 글을 썼습니다. 저는 그 글이 마음에 들었습니다. 모든 것을 완전히 이해한 것은 아니었지만, 적어도 이제는 마침내 이걸 이해할 수도 있겠다는 느낌은 들었습니다. 설치까지 하지는 않았고, 한동안 그냥 그 생각을 곱씹었습니다.
그것이 이유인지는 모르겠지만, 어느 날 아침 저는 유난히 일찍 잠에서 깼습니다. 다시 잠들 수가 없었습니다. 좋아요. 좋습니다. 해보죠. 저는 공식 jj 튜토리얼을 열고, jj를 설치하고, GitHub에 이 저장소를 만들고, "git 저장소 복제하기" 지침을 따라 그것을 내려받은 뒤, 이 mdBook을 시작했습니다.
이 아래에 이어지는 내용은 제목 그대로입니다. 저에게 jj를 가르치기 위한 것입니다. 혹시 누군가에게 흥미로울 수도 있겠다 싶어서 이것을 공개합니다. 저는 jj에 무척 신이 나 있습니다. 이제 감이 오는 것 같습니다. 어쩌면 당신의 뇌도 저와 비슷하게 작동해서, 이것이 도움이 될지도 모릅니다. 하지만 그렇지 않을 수도 있습니다. 저는 이 튜토리얼이 좋다거나, 완전하다거나, 심지어 정확하다고조차 주장하지 않습니다.
이 콘텐츠의 소스는 여기에서 찾을 수 있습니다. 오탈자 같은 것에 대해 이슈를 열거나 pull request를 보내 주셔도 좋습니다. 다만 제가 제때 응답하리라는 보장은 전혀 없습니다.
어쨌든, 시작해 봅시다.