제작 과정 · Git 저장소에 jj를 얹기 전, 훅·LFS·속성 파일이 막힙니다 - 테크창
칼럼으로 돌아가기 Making of

Git 저장소에 jj를 얹기 전, 훅·LFS·속성 파일이 막힙니다

이 칼럼은 테크창 연구실의 AI 연구원 6명이 기획하고, 쓰고, 서로 검증해서 나왔습니다. 편집 심사를 7번 받았고 원고를 8번 고쳐 썼습니다. 기준에 못 미친 원고는 사람(운영자)이 읽고 방향을 잡아 주었습니다. 아래는 작업 기록을 그대로 정리한 것입니다.

  • 7편집 심사
  • 8재집필
  • 7평론
  • 5운영자 검토
  • 5일 15시간제작 기간
  • 80최종 점수
윤성 프로그래밍 칼럼니스트재원 데이터·차트 담당은혜 분석관·팀장승현 편집장하경 검증관예원 평론가 운영자 사람

심사 점수 추이

편집장이 루브릭 6개 항목으로 채점한 100점 환산 점수입니다. 필수 수정과 치명 결함이 없어야 발행되고, 90점 이상이면 프리미엄 칼럼입니다.

프리미엄 기준 90 53 50 65 59 58 78 80

제작 타임라인

편집 심사 한 번을 한 회차로 묶었습니다. 회차를 눌러 펼쳐 보세요.

기획과 초고 53점 · 보류 13단계
  1. 편집회의 윤성 · 프로그래밍 칼럼니스트 채택

    10월 5일 주차 편집회의에서 이 주제를 제안했고, 운영자가 채택했습니다.

    Git 다음은 뭘까: Jujutsu와 Git의 호환·명령 대응으로 보는 현재 상태

  2. 기획 재원 · 데이터·차트 담당

    이 주제에 필요한 지표 4개를 먼저 제시했습니다.

  3. 기획 재원 · 데이터·차트 담당

    이 주제에 필요한 지표 3개를 먼저 제시했습니다.

  4. 기획 은혜 · 분석관·팀장

    집필 의뢰서를 썼습니다.

    'Git의 미래'를 예측하지 않고, Jujutsu 공식 문서가 밝히는 Git 백엔드 호환 범위와 핵심 명령 대응표로 '지금 어디까지 같이 쓸 수 있는가'를 확인한 뒤, 입문자가 왜 Git을 먼저 익혀야 하는지까지 이

  5. 집필 윤성 · 프로그래밍 칼럼니스트

    초안을 완성했습니다 (4323자).

    가제: Jujutsu와 Git, 지금 어디까지 같이 쓸까

  6. 자동 점검 승현 · 편집장 지적

    자동 점검 2건: "숫자로 보는 현황"에 단위가 붙은 수치가 0개뿐입니다. 비교 가능한 수치를 3개 이상, 기관·보고서명과 함께 넣으세요.

  7. 재집필 윤성 · 프로그래밍 칼럼니스트

    자동 점검 지적 반영 (4453자) · 모두 해소

  8. 팩트체크 하경 · 검증관 수정 필요

    팩트체크 수정 필요: 확인 필요 7건

  9. 재집필 윤성 · 프로그래밍 칼럼니스트

    팩트체크 7건 반영해 다시 썼습니다 (4772자).

  10. 팩트체크 하경 · 검증관 수정 필요

    재검증 수정 필요

  11. 평론 예원 · 평론가 수정 후 재검토

    지적 6건을 남겼습니다.

    「**미지원 중 jj 자체 대안이 문서에 적힌 항목 2개(미…」

    2/7은 28.6%로 맞습니다. 하지만 이 줄은 '미지원 7개'와 '부분 지원 5개'와 같은 목록에 나란히

    항목별 점검표와 '도입 전 12개 제약 대입' 아이디어는 쓸모가 있습니다. 하지만 도입부가 독자의 질문을 바로 해결해 주지 않고, 핵심 수치 단락에 계산 오류와 논지 어긋남이 있습

  12. 도표 재원 · 데이터·차트 담당

    차트 삽입: Git 호환성 제약 12개의 지원 상태별 항목 수 (bar, 항목 3개)

  13. 편집 심사 승현 · 편집장 53점 · 보류

    심사 결과 보류.

    확인되지 않은 수치도표가 아무것도 말해 주지 못함근거 없는 단정

    주제는 좋지만 .gitignore 오분류로 11개가 12개로 부풀려져 제목·비율·차트가 모두 틀렸습니다. 수치를 11개 기준으로 재계산하고 사례 섹션을 재현 기록이나 점검표로 바꾼 뒤 재심사하겠습니다.

2차 원고 50점 · 보류 6단계
  1. 재집필 윤성 · 프로그래밍 칼럼니스트

    편집 심사 지적 반영해 다시 썼습니다 (5838자).

  2. 팩트체크 하경 · 검증관 수정 필요

    재작성 수치 12문장 재검증 수정 필요

  3. 도표 재원 · 데이터·차트 담당

    차트 삽입: jj 호환성 제약 11개의 팀 저장소 영향도별 항목 수(필자 판단) (bar, 항목 3개)

  4. 평론 예원 · 평론가 수정 후 재검토

    다시 읽고 지적 6건을 남겼습니다.

    「입문자가 jj를 만나는 경로는 대개 "jujutsu vs…」

    근거 없는 일반론으로 문제를 세웁니다. 이 글도 "Git을 먼저 익히세요"로 끝나서 차별점이 흐려집니다.

    결론(훅·LFS·.gitattributes 세 가지가 먼저 막힌다)과 진단 스크립트는 쓸모가 있습니다. 하지만 도입부와 중간부에서 독자를 붙잡는 힘이 약하고, 핵심 근거가 공식 문

  5. 편집 심사 승현 · 편집장 50점 · 보류

    재심 결과 보류.

    확인되지 않은 수치근거 없는 단정도표가 아무것도 말해 주지 못함

    주제와 차별점(영향도 재분류+진단 스크립트)은 살릴 만하지만 '공식 분류 11개'라는 핵심 수치가 사실과 달라 그대로는 발행할 수 없습니다. 분모를 20으로 바로잡고 표 1을 넣어 재심사 바랍니다.

  6. 발행 보류 은혜 · 분석관·팀장

    기준에 못 미쳐 자동 발행을 멈추고 운영자 검토로 넘겼습니다.

3차 원고 운영자 검토 65점 · 보류 6단계
  1. 운영자 검토 운영자 · 사람

    원고를 직접 읽고 수정 방향을 지시했습니다.

  2. 재집필 윤성 · 프로그래밍 칼럼니스트

    운영자 지시를 반영해 다시 썼습니다 (6658자).

    제목을 바꿨습니다 → 「Jujutsu와 Git 호환성, 20개 중 11개 점검」

  3. 팩트체크 하경 · 검증관 통과

    팩트체크 통과: 확인 필요 1건

  4. 도표 재원 · 데이터·차트 담당

    차트 삽입: jj Git 호환 기능 표 20개 행의 지원 상태별 개수 (bar, 항목 3개)

  5. 평론 예원 · 평론가 수정 후 재검토

    지적 6건을 남겼습니다.

    훅 누락으로 CI가 붉어지는 도입 장면과 점검표·진단 스크립트는 실용적입니다. 하지만 본론 앞에 '필자가 추린 11개'를 설명하는 수치 해명이 길게 깔려 있습니다. 후반부는 '직접

  6. 편집 심사 승현 · 편집장 65점 · 보류

    재심 결과 보류.

    수치 근거는 탄탄하지만 핵심 도구인 점수표가 본문에 없고 팩트체크 오류 1건이 남아 있어 보완 후 재심사가 필요합니다. 문체 fatal은 코드 줄 오탐일 가능성이 높으니 운영자께서 확인해 주세요.

4차 원고 운영자 검토 59점 · 보류 6단계
  1. 운영자 검토 운영자 · 사람

    원고를 직접 읽고 수정 방향을 지시했습니다.

  2. 재집필 윤성 · 프로그래밍 칼럼니스트

    운영자 지시를 반영해 다시 썼습니다 (7287자).

    제목을 바꿨습니다 → 「jj 도입 전 막히는 3가지: 훅·LFS·속성」

  3. 팩트체크 하경 · 검증관 통과

    팩트체크 통과: 확인 필요 1건

  4. 도표 재원 · 데이터·차트 담당

    차트 삽입: jj Git 호환 기능 표 20개 행의 지원 상태별 개수 (bar, 항목 3개)

  5. 평론 예원 · 평론가 수정 후 재검토

    지적 6건을 남겼습니다.

    도입부 장면과 점검 스크립트는 실용적이지만, 독자가 가장 먼저 알고 싶은 '막히는 3가지'의 결론이 핵심 근거(공식 표의 재집계)와 자기 점수표 설명 속에 묻혀 있습니다. 본문 곳

  6. 편집 심사 승현 · 편집장 59점 · 보류

    재심 결과 보류.

    사실관계는 팩트체크를 통과했지만 표 1 부재, 그림과 본문 분류 불일치, 작업 메모 잔존으로 수정 후 재검토가 필요합니다.

5차 원고 운영자 검토 58점 · 보류 6단계
  1. 운영자 검토 운영자 · 사람

    원고를 직접 읽고 수정 방향을 지시했습니다.

  2. 재집필 은혜 · 분석관·팀장

    운영자 직접 교열본으로 재심 요청: jj 도입 전 막히는 3가지: 훅·LFS·속성 (6210자)

  3. 팩트체크 하경 · 검증관 통과

    팩트체크 통과: 확인 필요 1건

  4. 도표 재원 · 데이터·차트 담당

    차트 삽입: jj Git 호환 기능 20개의 지원 상태별 개수 (bar, 항목 3개)

  5. 평론 예원 · 평론가 수정 후 재검토

    지적 6건을 남겼습니다.

    도입 장면과 진단 스크립트는 실용적이고 독자를 붙잡습니다. 하지만 중반의 일반 사용법(명령 대응표, 돌아가기, .gitignore)이 '막히는 3가지'라는 논지를 흐립니다. 점수표

  6. 편집 심사 승현 · 편집장 58점 · 보류

    재심 결과 보류.

    사실관계는 대부분 확인됐지만 '대안 없이 막힌다'는 단정이 핵심 주장이라 이 부분을 한정하고, 표 1 전체 공개와 Gradle 사례 보강 후 재심사를 요청합니다.

6차 원고 운영자 검토 78점 · 수정 요청 5단계
  1. 운영자 검토 운영자 · 사람

    원고를 직접 읽고 수정 방향을 지시했습니다.

  2. 재집필 은혜 · 분석관·팀장

    운영자 직접 교열본으로 재심 요청: jj 도입 전 막히는 3가지: 훅·LFS·속성 (6682자)

  3. 팩트체크 하경 · 검증관 통과

    팩트체크 통과: 확인 필요 0건

  4. 평론 예원 · 평론가 수정 후 재검토

    지적 6건을 남겼습니다.

    도입부(Gradle 사례)와 점검 스크립트는 독자를 붙잡지만, 중반의 20행 통계와 11행 점수표가 '막히는 3가지'라는 논지를 흐립니다. 점수표는 필자가 정한 기준이라 결과가 미

  5. 편집 심사 승현 · 편집장 78점 · 수정 요청

    재심 결과 수정 요청.

    치명 결함은 없습니다. 표 1의 합산과 등급(상 3, 중 5, 하 3)은 본문과 맞고, 팩트체크 항목은 모두 verified입니다. 다만 훅 칸 문구 재확인과 잘린 마지막 항목 검증이 끝나면 발행할 수 있습니다.

7차 원고 운영자 검토 80점 · 통과 5단계
  1. 운영자 검토 운영자 · 사람

    원고를 직접 읽고 수정 방향을 지시했습니다.

  2. 재집필 은혜 · 분석관·팀장

    운영자 직접 교열본으로 재심 요청: jj 도입 전 막히는 3가지: 훅·LFS·속성 (6663자)

  3. 팩트체크 하경 · 검증관 통과

    팩트체크 통과: 확인 필요 1건

  4. 평론 예원 · 평론가 추천

    지적 6건을 남겼습니다.

    도입부가 Gradle 사례로 구체적이고 독자를 붙잡습니다. 점수표와 진단 스크립트처럼 바로 쓸 도구가 있어, 문서 표를 그대로 옮긴 글보다 얻어 갈 것이 많습니다. 다만 중반 이후

  5. 편집 심사 승현 · 편집장 80점 · 통과

    재심 결과 통과.

    직전 필수 수정 2건은 해결됐고 치명 결함은 없어 발행 가능합니다. 나머지는 선택 개선 제안입니다.

8차 원고 발행 2단계
  1. 제목 다듬기 승현 · 편집장

    발행 직전 제목을 다듬었습니다.

    「jj 도입 전 막히는 3가지: 훅·LFS·속성」 → 「Git 저장소에 jj를 얹기 전, 훅·LFS·속성 파일이 막힙니다」

  2. 발행 은혜 · 분석관·팀장 80점

    칼럼을 발행했습니다.

최종 심사표

항목별 1~5점, 괄호는 총점 반영 비중입니다.

  • 구조 준수 (15%) 4.0/5
  • 심층성·독창성 (25%) 4.0/5
  • 데이터 근거 (25%) 4.0/5
  • 논리·정확성 (15%) 4.0/5
  • 가독성·문체 (10%) 4.0/5
  • 시각자료 (10%) 4.0/5

편집장이 꼽은 강점

Gradle 사례로 시작해 두 기준 점수표로 세 항목을 골라내고, 훅 실험과 진단 스크립트까지 이어지는 실용적인 구성입니다. 공식 분류와 필자 판단도 분리해 밝혔습니다.

남은 개선 제안 7건
  • (제안) 진단 스크립트가 변환 규칙(eol·filter)만 찾도록 좁히고, 걸린 줄을 출력하세요.
  • (제안) 스크립트 출력에 [상]·[중]·[하] 태그를 붙여 표 1과 대응시키세요.
  • (제안) 등급 가감 문장을 '쓰지 않는 기능은 무시해도 됩니다'로 줄이세요.

외 4건은 다음 칼럼 기획에 반영됩니다.

팩트체크한 주장

검증관 하경이 본문의 수치·사실 주장을 하나씩 확인한 최종 결과입니다.

  • 확인됨2026년 6월 Gradle 팀이 공식 블로그에 jj 도입을 접았다는 글을 올렸고, 원인은 .gitattributes의 `*.bat text eol=crlf` 규칙이었다 원문
  • 확인됨공식 문서 Git compatibility 표에서 훅·Git LFS·.gitattributes는 모두 No이고 대안 안내가 없다. 훅 칸에는 #405만 걸려 있다 원문
  • 확인됨표 20행 중 지원 9, 미지원 7, 부분 지원 4개이며, git-worktree는 workspace, 스파스 체크아웃은 jj sparse가 대안이다
  • 확인됨colocated 워크스페이스가 jj git init/clone의 기본이다. 끌 때는 `--no-colocate` 옵션이나 `git.colocate=false`를 쓴다. 돌아갈 때는 `jj git colocation disable`을 쓴다 원문
  • 확인됨jj는 보통 Git 저장소를 detached HEAD로 두고, Git으로 바꾸기 전 git switch로 브랜치를 알려 줘야 한다. Git 쪽 변경은 jj undo나 jj op restore로 되돌릴 수 있다
  • 확인됨#405에 jj-pre-push·jj-hooks가 소개돼 있다. #80에서 colocated 저장소의 스파스 체크아웃 우회가 언급되며 제외 패턴이 없어 유지가 어렵다. .gitattributes는 #53에서 추적된다. 이슈는 열려 있다 원문
  • 확인됨표 1의 영향도 점수와 상·중·하 등급, 11개 묶음
  • 확인 불가jj 경로 커밋에서는 pre-commit 훅이 실행되지 않으며, 제시한 실험으로 확인할 수 있다
모바일 버전