소개
Waymark는 간결한 도보 안내서를 발행합니다. 지원 중인 Harbour Loop 판에는 아직 전체 안내서 링크 오류가 있습니다. 새 Explorer 디자인은 개발 중이며, main 작업 디렉터리에는 스테이징된 작업과 그 뒤에 추가한 미스테이징 초안이 함께 있습니다. 비공개 메모도 공개되지 않도록 유지해야 합니다.
먼저 정상적인 빠른 시작 다운로드로 기대하는 결과를 확인합니다. 그런 다음 미완성 작업 옆에 연결된 작업 트리(linked worktree)를 만들어 기존 유지보수 브랜치를 열고, 작은 링크 설정을 고친 뒤, 원래 초안을 바꾸지 않고 실제로 쓸 수 있는 구판 안내서 다운로드를 확인합니다.
기본적인 터미널 경로 이동, 커밋, 브랜치, 간단한 log/diff 읽기를 알고 있어야 합니다. 웹사이트 프로그래밍, 호스팅 계정, Git 서버는 필요하지 않습니다. 준비된 Workspace와 Release Desk 탭을 사용하세요. 실제 Git 작업 트리와 HTTP 미리보기가 하나의 교육용 머신에서 실행됩니다. 미리보기는 커밋하지 않은 파일이 아니라 지정된 브랜치의 커밋을 읽으며, 프로덕션 배포가 아닙니다. 경로, 인물 정보, 안내문은 가상입니다. 소요 시간 35분은 저자의 추정치입니다.
릴리스 살펴보고 작업 트리 열기
이 단계에서는 정상 다운로드를 확인하고 잘못된 링크를 관찰한 뒤, 어떤 미완성 작업을 온전히 보존해야 하는지 정확히 파악합니다.
Release Desk를 여세요. 카드 두 개가 있는 개요에서 Open supported release를 누르세요. 페이지에는 Harbour Loop, Waymark Pocket Edition 1.0, 3.2 km, North Pier가 표시되어야 합니다. 이 간결한 판은 아직 지원 중입니다. 판의 정체성과 안내서 내용을 Explorer로 교체하는 작업이 아닙니다.
Download quick start를 누르세요. 브라우저의 다운로드 목록에서 quick-start.txt를 여세요. Harbour Loop를 명시하고, North Pier에서 만나라고 안내하며, 물과 편한 신발을 언급해야 합니다. 이 정상 다운로드가 기대하는 결과의 기준입니다.
Download full guide를 누르세요. Guide not found라는 404 페이지가 표시되는 것이 정상입니다. 선택한 릴리스에는 해당 링크 위치에 파일이 없습니다. 사이트에 연결할 수 없는 상황과는 다릅니다. 오류 페이지의 Back to release를 누르세요. 버전 관리되는 링크를 나중에 살펴보고 수정할 것입니다.
지원 릴리스 페이지의 All releases를 누른 다음 Open development preview를 누르세요. 페이지에는 새 판의 정체성과 형식으로 Waymark Explorer Edition 2.0, Harbour Loop, 3.2 km, North Pier가 표시됩니다. 이 디자인 변경은 아직 승인되지 않았으며 지원 판의 요구 사항이 아닙니다. All releases로 돌아오세요.
Workspace로 전환하여 원래 작업 디렉터리로 들어가세요.
cd /home/labex/project/release-desk/editor
cd는 이 터미널의 디렉터리만 바꿉니다. 경로를 잘못 입력했다면 pwd로 현재 위치를 출력하고 ls로 해당 디렉터리를 나열한 다음, 위의 전체 cd 명령을 다시 실행하세요. 일반적인 이동 실수 때문에 VM을 초기화할 필요는 없습니다.
이 저장소에만 작성자 정보를 설정하세요. --local은 전역 설정을 바꾸지 않으며, 따옴표는 공백이 들어 있는 이름을 하나로 묶습니다. 다음 가상 값은 바꿔도 되는 예시입니다. 저장소 로컬 설정은 인덱스와 달리 이 저장소의 연결된 작업 트리들이 공유합니다.
git config --local user.name "Guide Editor"
git config --local user.email "guides@example.com"
상태를 살펴보세요. --short는 간결한 목록을 출력하고, branch --show-current는 체크아웃된 브랜치를 출력합니다.
git status --short
git branch --show-current
MM preview.txt, ?? private-note.txt, 브랜치 main이 표시되어야 합니다. 두 열로 된 간결한 상태에서 첫 번째 M은 스테이징된 수정, 두 번째 M은 작업 파일의 추가 수정을 뜻합니다. ??는 미추적 파일을 뜻합니다.
서로 다른 두 변경을 읽으세요. --no-pager는 스크롤 뷰어를 열지 않고 바로 출력합니다. --cached는 Git의 스테이징 영역인 인덱스와 현재 커밋을 비교합니다. 이 옵션이 없으면 diff는 작업 파일과 인덱스를 비교합니다. --는 옵션과 뒤의 파일 경로를 구분합니다.
git --no-pager diff --cached -- preview.txt
git --no-pager diff -- preview.txt
스테이징된 추가 내용은 Plan: add dusk photographs.입니다. 추가로 스테이징되지 않은 내용은 Draft: try the violet cover.입니다. 두 버전은 각각 보존되어야 합니다. 이를 커밋하거나 버리거나 하나로 합치는 것은 유지보수 작업이 아닙니다.
비공개 메모를 수정하지 않고 읽으세요. cat은 파일을 출력합니다.
cat private-note.txt
Do not publish supplier prices.를 미추적 메모로 유지하세요. 이 작업을 없애서 상태를 깨끗하게 보이게 만드는 것은 성공이 아닙니다. 다음으로 유지보수에 별도의 디렉터리와 인덱스를 마련합니다.
별도의 유지보수 작업 트리 열기
이 단계에서는 미완성 main 작업 옆에 기존 지원 브랜치를 엽니다. 브랜치가 이미 사용 중일 때 발생하는 무해한 거부도 알아봅니다.
Workspace의 /home/labex/project/release-desk/editor에서 계속 진행하세요. 로컬 브랜치를 나열하세요.
git --no-pager branch
현재 브랜치는 main이고 release/1.0은 이미 존재합니다. **연결된 작업 트리(linked worktree)**는 같은 저장소에 연결된 또 하나의 작업 디렉터리입니다. 커밋과 브랜치 참조를 공유하면서 체크아웃된 브랜치, HEAD, 인덱스는 각각 유지합니다. 이를 만들어도 main 디렉터리의 초안을 stash에 넣거나 버리지 않습니다.
먼저 보호 동작을 확인하세요. 다음 명령은 main is already checked out과 0이 아닌 상태로 실패하는 것이 정상입니다. 단독으로 실행하세요. ..는 부모 디렉터리를 뜻하므로 요청한 디렉터리는 editor 옆에 위치하게 됩니다.
git worktree add ../busy-preview main
Git은 이미 체크아웃된 브랜치를 두 번째로 여는 것을 거부합니다. 강제 옵션을 추가하지 마세요. 기존 항목을 확인하세요.
git worktree list
editor가 main에 있음을 보여 줍니다. 복구용 reset은 필요하지 않습니다. 이제 별도로 존재하는 기존 유지보수 브랜치를 명시적으로 여세요.
git worktree add ../supported-v1 release/1.0
여기서 ../supported-v1은 새 작업 디렉터리이고 release/1.0은 열려는 기존 브랜치입니다. 브랜치를 생략하면 잘못된 시작점에서 새 브랜치를 만들 수 있으므로 두 인수를 모두 유지하세요.
실제 작업 트리 두 개를 나열하고 유지보수 쪽으로 들어가세요.
git worktree list
cd ../supported-v1
git branch --show-current
git status --short
release/1.0이 표시되고 변경 파일 출력은 없어야 합니다. 이 깨끗한 인덱스는 main의 미완성 작업과 별개입니다. 연결된 작업 트리의 .git 항목은 보통 공유 저장소 메타데이터를 가리키는 작은 파일이며, 독립적인 클론이 아닙니다.
지원 판의 정체성과 다운로드 설정을 읽으세요.
cat release.txt
cat full-guide.path
ls downloads
판은 Pocket Edition 1.0으로 유지됩니다. 링크 설정은 /downloads/harbour-guid-v1.txt이지만 실제 전체 안내서 파일은 harbour-guide-v1.txt입니다. 링크에 e가 빠져 있습니다. 일반 파일, 형식, 관련 없는 모든 내용을 유지하세요. 확인 항목은 단순한 폴더 존재 여부가 아니라 Git의 실제 연결 관계와 main 보존 여부를 평가합니다.
링크 수정하고 초안 보존하기
이 단계에서는 버전 관리되는 링크 하나를 고치고 유지보수 커밋을 기록한 뒤, 구판 안내서 전체를 테스트하고 원래의 스테이징된 작업과 미스테이징 작업이 별개로 남아 있는지 확인합니다.
Workspace의 /home/labex/project/release-desk/supported-v1에서 계속 진행하세요. 설정 파일에는 웹사이트 절대 경로 하나와 줄바꿈이 있습니다. printf는 형식에 맞춰 값을 출력합니다. %s는 텍스트를 뜻하고 \n은 줄바꿈을 추가합니다. 작은따옴표는 이 형식을 그대로 유지합니다. >는 지정한 파일만 출력값으로 교체합니다. 이 작은 설정 파일에만 사용하세요.
printf '%s\n' '/downloads/harbour-guide-v1.txt' > full-guide.path
스테이징 전에 한 줄 수정을 검토하세요.
git --no-pager diff -- full-guide.path
harbour-guid-v1.txt가 harbour-guide-v1.txt로 바뀌는 내용만 표시되어야 합니다. 해당 파일을 스테이징하고 스테이징된 패치를 확인하세요.
git add full-guide.path
git --no-pager diff --cached -- full-guide.path
add는 이 작업 트리의 파일을 이 작업 트리의 인덱스에 기록합니다. main의 초안을 스테이징하지 않습니다. 수정 사항을 기록하세요. -m은 의미 있는 메시지를 직접 지정하고, 따옴표는 그 안의 공백을 유지합니다.
git commit -m "Repair the supported Harbour guide link"
유지보수 이력을 검토하세요. --oneline은 커밋마다 짧은 한 줄을, --decorate는 브랜치/태그 이름표를 표시합니다.
git --no-pager log --oneline --decorate
git status --short
원래 지원 커밋 바로 위에 수정 커밋 하나가 있고 Explorer 개편 커밋은 없어야 하며, 유지보수 작업 트리는 깨끗해야 합니다. 준비된 태그 supported-start는 원래 유지보수 끝 커밋을 가리킵니다. 변경하지 마세요. 커밋은 이 지원 브랜치를 이동시키며 로컬 미리보기는 해당 브랜치를 읽습니다. 원격 푸시나 호스팅된 배포는 이 환경에 포함되지 않습니다.
Release Desk로 전환하세요. 머리글의 Release Desk를 눌러 개요로 돌아간 다음 Open supported release를 누르세요. Pocket Edition 1.0, Harbour Loop, 3.2 km, North Pier를 확인하세요.

왼쪽의 Pocket Edition 1.0과 오른쪽의 다운로드 링크 두 개를 확인하세요. 좁은 화면에서는 다운로드 패널이 릴리스 상세 정보 아래에 있습니다.
Download full guide를 누르고 브라우저의 다운로드 목록에서 실제 harbour-guide-v1.txt 다운로드를 여세요. North Pier 출발점, Clock Steps와 옛 보트 창고 및 Anchor Square를 지나는 번호가 매겨진 세 방향 안내 전체, 3.2 km 거리, 마지막의 길 이용/쓰레기 주의 문구가 있어야 합니다. 200 응답이나 파일 이름만으로는 내용의 완전성을 확인할 수 없습니다.
Download quick start를 다시 눌러 원래의 짧은 준비 목록이 계속 작동하는지 확인하세요. All releases에서 개발 미리보기를 열어 Explorer Edition 2.0이 변경되지 않았는지 확인하세요. All releases로 돌아오세요.
Workspace로 전환하고 원래 디렉터리로 돌아가세요.
cd /home/labex/project/release-desk/editor
git branch --show-current
git status --short
git --no-pager diff --cached -- preview.txt
git --no-pager diff -- preview.txt
cat private-note.txt
main, 원래의 MM preview.txt와 ?? private-note.txt, 동일한 스테이징된 사진 계획 문장, 별개로 남은 동일한 미스테이징 보라색 표지 문장, 변경되지 않은 비공개 메모가 있어야 합니다. 확인 항목은 수정된 브랜치와 실제 다운로드뿐 아니라 이 보존된 상태도 검사합니다. 연결된 작업 트리는 계속 사용할 수 있게 남겨 두세요. 이를 제거하는 것은 결과물의 일부가 아닙니다.
요약
실제 연결된 작업 트리에서 기존 유지보수 브랜치를 열고, 사용 중인 브랜치를 보호하는 거부 동작을 알아본 뒤, 원래 스테이징된 작업과 미스테이징 작업을 건드리지 않고 지원 다운로드 하나를 수정했습니다. 구판, 두 유용한 다운로드, 비공개 메모는 온전히 남았습니다.
다음 가이드 실습은 독립적으로 초기화되며, 같은 수정을 다시 편집하는 대신 개발 이력에 이미 있는 독립적인 수정을 재사용합니다. 같은 브랜치 선택과 초안 보존 판단을 유지하면서 cherry-pick을 추가로 배웁니다.



