Diff와 미리 보기
Diff 읽기
| 토글 | 하는 일 |
|---|---|
| 통합 ↔ 분할 | 비교하고 싶을 땐 나란히, 그냥 읽고 싶을 땐 위아래로 |
| 단어 단위 | 수정된 줄 안에서 바뀐 토큰만 강조해요 — 옛것은 빨강, 새것은 초록 |
| 공백 무시 | 들여쓰기만 바뀐 부분을 감춰서 진짜 변경이 드러나게 해요 |
| 줄 바꿈 (분할 보기 전용) | 긴 줄을 가로 스크롤 대신 해당 열 안에서 줄 바꿈합니다 |
| 연동 (분할 보기, 줄 바꿈 끔) | 양쪽을 세로와 가로로 함께 스크롤합니다 — 끄면 각 열이 따로 움직입니다 |
| ⌘F | diff 안에서 찾기. 다음/이전으로 넘어갈 수 있어요 |
줄 바꿈은 기본적으로 꺼져 있습니다. 한 줄이 한 행에 머무르므로 양쪽을 행 단위로 비교할 수 있고, 각 열은 자체 스크롤바로 가로 이동합니다. 긴 줄을 쫓기보다 읽고 싶을 때 켜세요. 대신 세 행으로 접힌 줄은 맞은편 줄과 나란히 놓이지 않습니다. 모든 토글은 파일과 세션을 넘어 상태를 기억합니다.
줄 바꿈이 꺼져 있으면 양쪽은 기본적으로 연동되어 스크롤됩니다 — 세로로는 행이 서로 마주 보게 유지되고, 가로로는 왼쪽 90번째 칸이 오른쪽 90번째 칸 위에 놓입니다. 들여쓴 블록과 들여쓰지 않은 블록, 모든 줄을 밀어낸 이름 변경처럼 양쪽이 어긋났을 때, 또는 같은 파일의 멀리 떨어진 두 영역을 비교하고 싶을 때는 연동을 풀고 각 절반을 자기 내용이 있는 곳에 두세요.

모든 diff 위에는 의미 기반 요약이 자리해요 — 줄 단위가 아니라 심볼 단위로 무엇이 바뀌었는지 알려 주는 거예요.
이미지 diff
바뀐 이미지는 제대로 비교돼요. 나란히 놓거나, 스와이프 손잡이를 끌어서 이전과 이후 사이를 오갈 수 있어요.

변경 거터와 미니맵
작업 트리 파일의 파일 보기는 — 스테이징 여부, 추적 여부, 새 파일 여부와 관계없이 — HEAD(스테이징된 파일의 경우 인덱스) 이후 변경된 모든 줄 옆에 색상 막대를 표시합니다: 초록은 추가, 파랑은 수정, 대체 없이 삭제된 줄에는 작은 빨간 쐐기가 표시됩니다. 막대를 클릭하면 파일을 벗어나지 않고 해당 변경 사항을 볼 수 있습니다 — 팝업에는 삭제된 줄과 추가된 줄이 표시되며, 이전/다음으로 파일의 모든 변경 사항을 훑어볼 수 있습니다.

기본적으로 꺼져 있는 미니맵은 오른쪽 가장자리에 파일 전체를 축소한 개요를 추가합니다 — 클릭하거나 드래그해서 이동할 수 있습니다. 스크롤바가 파일의 모양까지 보여준다면 그런 역할입니다. 두 기능 모두 설정 → 일반 → 파일 뷰어에서 컴퓨터별로 켜고 끌 수 있습니다.
둘 다 히스토리는 읽지 않습니다. Diff, Blame 또는 이전 커밋으로 전환하면 거터가 사라집니다 — 이런 보기들은 이미 모든 변경 사항을 직접 보여주기 때문입니다.
무엇이든 미리 보기
미리 보기 모드는 파일의 소스를 보여 주는 대신 파일을 렌더링해요. Markdown,
Word(.docx), Excel(.xlsx), PDF, 동영상, 오디오, 이미지, 그리고 그 밖의 모든
것에는 구문 강조된 코드가 나와요.

Apple 속성 목록
Info.plist와 *.entitlements는 XML이고, XML은 아무도 읽고 싶어 하지 않는
것입니다. 프리뷰는 대신 키/값 개요를 보여줍니다 — Xcode의 plist 편집기가 보여주는
바로 그 형태로, 중첩은 그대로 두고 각 값의 타입을 옆에 붙여서요.

한계 두 가지. 바이너리 plist(bplist00)는 알아보고 이름을 말할 뿐 디코딩하지
않습니다 — 여기서 보고 싶다면 plutil -convert xml1을 돌리세요. 다만 저장소 안의
바이너리 plist는 대개 커밋되지 말았어야 할 빌드 산출물입니다. 그리고 <data>
값은 base64가 아니라 바이트 수로 나옵니다. blob은 당신에게 아무것도 알려주지
않고, 공유 중일지 모를 창에 그려진 프로비저닝 프로파일은 남들에게 너무 많은 걸
알려주니까요.
Xcode 프로젝트
project.pbxproj는 서로를 id로 가리키는 객체들의 평평한 사전 하나라, 순서대로
읽어서는 프로젝트에 대해 거의 아무것도 알 수 없습니다. 프리뷰는 그 참조를 따라가
당신이 실제로 보러 온 세 가지를 되살립니다 — 빌드 단계를 가진 타깃, Xcode
네비게이터가 그리는 그대로의 그룹 트리, 그리고 구성별 빌드 설정.

읽기용이지 편집기가 아닙니다 — 여기서 프로젝트에 쓰는 것은 아무것도 없습니다. 두 브랜치가 같은 파일을 편집했을 때 어떻게 되는지는 충돌 해결을 보세요.
매우 큰 파일
미리보기와 파일 보기는 파일 전체를 메모리에 불러오므로, 크기 상한(미리보기 32 MB, 텍스트 16 MB)을 넘는 파일은 거부하고 대신 파일이 얼마나 큰지 알려줍니다. 그래도 불러오기는 해당 파일에 한해 상한을 해제합니다 — 열 수 없는 파일은 없으며, 큰 파일 로드가 옵트인으로 바뀔 뿐입니다. 수천 줄이 넘는 파일과 diff는 여전히 전부 렌더링되지만, 화면 밖으로 스크롤된 줄은 더 이상 배치·페인트되지 않으므로 거대한 lockfile diff가 노트북 메모리를 통째로 잡아먹는 일이 없어집니다.

파일 탭
왼쪽 사이드바의 파일 탭은 작업 트리 자체를 둘러봐요. 폴더에는 그 안에 든 것들을 합산한 상태 배지(추가 / 수정 / 삭제)가 붙어요.

