Jujutsu의 CLI인 `jj`가 무엇인지, 왜 `git` 사용자에게 더 단순하면서도 더 강력한 대안이 될 수 있는지 소개합니다.
jj는 Jujutsu의 CLI 이름입니다. Jujutsu는 DVCS, 즉 "분산 버전 관리 시스템"입니다. git과 같은 다른 DVCS에 익숙할 수도 있으며, 이 튜토리얼은 여러분이 git에서 jj로 넘어온다고 가정합니다.
그렇다면 왜 jj에 관심을 가져야 할까요? 프로그래밍 세계에서는 꽤 드문 특성이 있기 때문입니다. git보다 더 단순하고 더 쉬운 동시에, 더 강력하기도 합니다. 이는 상당히 큰 주장입니다! 우리는 선택을 할 때 올바르게도 여러 상충 관계가 존재한다고 배웁니다. 그리고 "강력하지만 복잡하다"는 매우 흔한 상충 관계입니다. 그런 강력함은 충분히 가치가 있었고, 그래서 사람들은 이전 세대 도구들보다 git으로 몰려들었습니다.
jj가 해낸 일은 git의 장점과 Mercurial(hg)의 장점을 취해, 그것을 새롭지만 이상하리만큼 익숙한 무언가로 종합한 DVCS를 만들어낸 것입니다. 그 과정에서 필수 도구의 수는 더 적게 유지하면서도, 그것들이 더 깔끔한 방식으로 함께 작동하기 때문에 각 도구를 더 강력하게 만들었습니다. 더 나아가, 좀 더 고급 jj 사용법은 git으로는 매우 어렵게만 가능한 추가적인 강력한 도구들을 여러분의 VCS 샌드박스에 제공할 수 있습니다.
이게 매우 큰 주장처럼 들린다는 것은 알지만, 이 튜토리얼의 나머지 부분이 그 이유를 보여줄 것이라고 저는 믿습니다.
jj를 한번 시도해 봐야 할 또 다른 이유가 있습니다. git 호환 백엔드를 갖추고 있어서, 함께 작업하는 다른 사람들까지 전환할 필요 없이 여러분 혼자서도 jj를 사용할 수 있습니다. 이는 한번 써보는 데 사실상 단점이 없다는 뜻입니다. 만약 여러분에게 맞지 않더라도, 그것으로 작성한 모든 기록을 포기하게 되는 것이 아니며, 아무 문제 없이 곧바로 git으로 돌아갈 수 있습니다.