WEBBOOK CHAPTER

현장에서 살아남는 Git: 1장 저장이 아니라 역사를 만든다

1장 저장이 아니라 역사를 만든다

문서를 저장하면 현재 모습 하나가 남는다. Git 커밋은 선택한 파일들의 한 시점, 부모 커밋, 작성자, 설명을 묶어 프로젝트의 역사를 만든다. 그래서 Git의 질문은 “저장했나?”가 아니라 “어떤 변경을 한 덩어리로 설명할 것인가?”다.

Git은 중앙 서버에 접속해야만 작동하는 동기화 앱이 아니다. 로컬 저장소만으로도 커밋과 브랜치와 복구가 된다. GitHub, GitLab, Bitbucket 같은 원격 호스팅은 그 역사를 팀과 교환하는 장소다. 이 구분을 모르면 인터넷이 끊겼을 때 커밋을 못 한다고 생각하거나, 커밋했으니 팀원도 보았다고 오해한다.

첫 실습 환경

Git과 Node.js 20 이상이 설치된 터미널에서 책 프로젝트로 이동한다.


cd git-field-guide
git --version
node --version
npm run lab:setup
cd sandbox/releasedesk
git status
git log --oneline --graph --decorate --all

마지막 그래프에는 mainfeature/search가 보인다. WORKSPACE.txt는 아직 추적되지 않은 파일이다. 이 상태가 앞으로 모든 실습의 출발점이다. 다시 시작하고 싶으면 책 루트에서 npm run lab:setup을 실행한다. 이 명령은 오직 git-field-guide/sandbox만 다시 만든다.

처음부터 지킬 세 가지

  1. 명령을 복사하기 전에 현재 경로와 브랜치를 확인한다.
  2. 파괴적인 명령 전에 status, diff, log를 기록한다.
  3. 실제 고객 저장소에서 복구 명령을 연습하지 않는다.