Git으로 변경 기록하기
작업 트리, 스테이징 영역, 커밋을 구분하고 작은 저장소에 변경을 기록합니다.
무료 공개 · 최근 수정
세 상태 구분하기
Git은 파일의 변경 내용을 기록하고 이전 상태와 비교할 수 있는 버전 관리 도구입니다. 작업 트리에는 현재 편집 중인 파일이 있고, 스테이징 영역에는 다음 커밋에 넣을 내용이 있습니다. 커밋은 스테이징한 내용을 저장소의 기록으로 남깁니다.
git add는 파일 이름만 등록하는 명령이 아닙니다. 실행 시점의 파일 내용을 스테이징 영역에 올립니다. 파일을 다시 수정하면 새 변경분은 작업 트리에만 있으므로 상태를 확인하고 다시 스테이징해야 합니다. 이 흐름은 Git 공식 입문서의 변경 기록 절차에서 확인할 수 있습니다.
작은 저장소 만들기
Git이 설치된 환경에서 연습용 저장소와 파일을 만듭니다.
mkdir vivo-git-practice
cd vivo-git-practice
git init
printf "첫 번째 학습 기록\n" > notes.txt커밋 전에 git config user.name과 git config user.email로 작성자 설정이 있는지 확인합니다. 값이 없다면 Git의 안내에 따라 사용할 이름과 이메일을 설정한 뒤 다음 명령을 실행합니다.
git status --short
git add notes.txt
git diff --cached
git commit -m "Add first learning note"
git log --oneline결과 읽기
처음 git status --short를 실행하면 notes.txt가 아직 추적되지 않은 파일로 표시됩니다. git add 뒤에는 스테이징된 새 파일로 바뀝니다. git diff --cached는 다음 커밋에 포함될 내용을 보여 주고, git log --oneline은 만들어진 커밋을 한 줄로 표시합니다.
파일을 다시 수정한 뒤 git diff와 git diff --cached를 각각 실행해 보세요. 전자는 아직 스테이징하지 않은 변경을, 후자는 스테이징한 변경을 보여 줍니다.
기록 단위 정하기
커밋 하나에는 한 문장으로 설명할 수 있는 목적 하나를 담는 편이 기록을 읽고 되돌리기 쉽습니다. 예를 들어 문서 오타 수정과 프로그램 동작 변경은 별도 커밋으로 나눌 수 있습니다. 이것은 협업과 검토를 돕는 작업 원칙이며 Git이 강제하는 규칙은 아닙니다.
참고 문서
설명이 어렵거나 잘못된 부분을 발견하셨나요?
문서 수정 의견 보내기