[[글 한 편의 수정 이력을 깃으로 남기기]]를 거꾸로 쓰는 창작 제안이다. 세 문장을 쓰고 마지막 문장을 하나씩 덜어낸다. 현재 파일은 짧아지지만 이력에는 앞선 상태가 남는다. ‘방에 문장이 세 개 있다’는 말은 마지막에 혼자 남아 숫자에 대한 책임을 지게 된다. ## 세 번 기록하기 1. Git이 설치되어 있는지 확인하고 기존 저장소 밖의 연습 공간에서 시작한다. 아래는 macOS, 리눅스 셸 또는 Git Bash용이다. 2. `disappearing-poem`이 없는지 확인한다. 이미 있다면 첫 두 줄의 폴더 이름을 새 이름으로 함께 바꾼다. 3. 아래 명령을 한 줄씩 실행하며 매 커밋 직전의 `poem.txt`를 읽는다. 폴더 생성과 이동을 포함해 오류가 나면 그 자리에서 멈춘다. 시구는 이 실험을 위해 작성한 예문이다. 4. 마지막에 `poem.txt`에는 한 문장, 마지막 명령의 출력에는 처음의 세 문장이 있는지 비교한다. 5. 삭제한 이유를 커밋 메시지로 바꿔 써본다. 파일 내용 밖의 말도 작업을 읽는 단서가 될 수 있다. ```sh mkdir disappearing-poem cd disappearing-poem git init git config user.name "연습 기록자" git config user.email "practice@example.invalid" printf '방에 문장이 세 개 있다. 둘은 창문을 보고 있다. 하나는 출구를 찾는다. ' > poem.txt git add poem.txt git commit -m "세 문장" printf '방에 문장이 세 개 있다. 둘은 창문을 보고 있다. ' > poem.txt git add poem.txt git commit -m "마지막 문장을 덜다" printf '방에 문장이 세 개 있다. ' > poem.txt git add poem.txt git commit -m "한 문장만 남기다" git log --oneline git show HEAD~2:poem.txt ``` [[삭제]]를 언제나 흔적의 소멸로 생각할 수는 없다. 이 연습은 이전 내용을 이력에 남기므로 공개하면 안 되는 문장을 지우는 절차가 아니다. 보이지 않는 옛 문장까지 작품으로 포함할지는 별도의 선택으로 남는다. 마지막 판본을 인쇄한다면 빈 두 줄을 남기는 경우와 남은 한 줄을 위로 당기는 경우도 비교해볼 수 있다. 문장을 지운 자리의 크기를 재는 [[삭제의 행간]]은 내용의 이력과 다른 문제다. #실험 #시 #깃 #버전관리