`jj git init`을 사용해 새 프로젝트용 저장소를 초기화하는 방법을 설명합니다.
jj git init으로 저장소 만들기 - Steve의 Jujutsu 튜토리얼 1. [**1.1.** jj란 무엇이며 왜 신경 써야 할까요?](https://steveklabnik.github.io/jujutsu-tutorial/introduction/what-is-jj-and-why-should-i-care.html)
1. [**2.1.** jj 설치 방법](https://steveklabnik.github.io/jujutsu-tutorial/hello-world/how-to-install.html)
2. 2.2. jj git init으로 저장소 만들기
3. 2.3. jj st로 현재 상태 보기
4. 2.4. jj describe를 사용해 사람이 읽기 좋은 방식으로 커밋 설명하기
5. 2.5. jj new를 사용해 새로운 변경 만들기
6. 2.6. jj log로 저장소 내용 보기
7. 2.7. 정리와 몇 가지 생각
1. [**3.1.** 스쿼시 워크플로](https://steveklabnik.github.io/jujutsu-tutorial/real-world-workflows/the-squash-workflow.html)
2. 3.2. 편집 워크플로
1. [**4.1.** 익명 브랜치가 무엇인지와 사용하는 방법](https://steveklabnik.github.io/jujutsu-tutorial/branching-merging-and-conflicts/anonymous-branches.html)
2. 4.2. revset으로 변경 사항의 위치 파악하기 3. 4.3. 익명 브랜치 병합하기 4. 4.4. 충돌 다루기
1. [**5.1.** jj에서 이름 있는 브랜치 사용하기](https://steveklabnik.github.io/jujutsu-tutorial/sharing-code/named-branches.html)
2. 5.2. 원격 저장소 다루기, 예를 들어 GitHub 3. 5.3. pull request 피드백에 대응하기 4. 5.4. upstream에서 trunk 업데이트하기 5. 5.5. Gerrit과 함께 jj 사용하기
1. [**6.1.** 모든 브랜치에서 동시에 작업하기](https://steveklabnik.github.io/jujutsu-tutorial/advanced/simultaneous-edits.html)
2. 6.2. 스택형 PR 3. 6.3. 워크스페이스 4. 6.4. 코로케이트된 저장소
7. 문제 해결하기
1. **7.1.** 실수 되돌리기
2. 7.2. 변경 사항 되돌리기 3. 7.3. 작업 로그 4. 7.4. obslog
8. 사용 환경 맞춤 설정하기
1. **8.1.** jj 설정하기
jj git init으로 저장소 만들기새 저장소를 만들어 봅시다! 먼저 추적할 프로젝트가 필요합니다. 이 예제에서는 제가 가장 좋아하는 언어인 Rust 프로젝트를 사용할 예정이지만, 여러분은 원하는 무엇이든 사용해도 됩니다. 여기서는 복잡한 코드를 작성하지 않을 것이고, 그냥 작업할 무언가를 마련하는 것뿐입니다.
새 Rust 프로젝트를 만들기 위해 cargo new를 사용할 수 있습니다. 그리고 버전 관리 저장소는 자동으로 만들지 않도록 해서, 우리가 직접 만들 수 있게 하겠습니다.
$ cargo new hello-world --vcs=none
Created binary (application) `hello-world` package
$ cd hello-world
Cargo 프로젝트에서 메인 소스 파일은 src/main.rs에 저장되며, 내용은 다음과 같습니다.
fn main() {
println!("Hello, world!");
}
완벽합니다. 이제 조금 재미있는 점이 있는데, jj에는 .gitignore에 해당하는 별도 기능이 없고, 대신 그냥 .gitignore를 지원합니다. 그러니 .gitignore 파일에 다음 내용을 넣어 봅시다.
/target/
다른 언어를 사용하고 있다면, JavaScript에서는 node_modules 같은 것을 추가하고 싶을 수 있고, 또는 여러분이 사용하는 언어에 맞는 동등한 항목을 추가하면 됩니다.
이제 프로젝트가 준비되었으니, 저장소를 초기화해 봅시다.
$ jj git init
Initialized repo in "."
이제 여러분은 아마 "왜 그냥 jj init이 아니죠?"라고 궁금할 수 있습니다. 이유는 이렇습니다. 네이티브 저장소 형식은 아직 작업이 진행 중입니다. 그래서 우리는 실제 git 저장소를 기반으로 하는 저장소를 만들고 있습니다. 실제로는, jj의 현재 이른 단계에서는 그것이 올바른 선택이기 때문입니다.
어쨌든, 이제 저장소가 생겼습니다! 다음 섹션에서는 내부를 살짝 들여다보겠습니다.