home강의 홈으로
Section 5. Git 보다 깊이 알기
Lesson 2. Git의 3가지 공간

💾 프로젝트 마지막 상태 다운로드

  • 지난 강에서 영상과 다르게 진행한 부분이 있는 경우 위 폴더에서 시작합니다.
  • 압축 푼 뒤 VS Code로 git-practice(폴더 안 폴더 주의) 폴더 열어주세요.

Git의 3가지 공간

three

수정사항 화살표

  • commit되어 레포지토리에 들어간 후 수정사항이 발생하면 tracked 파일로써 스테이징을 기다리게 됩니다.

Working directory

  • untracked: Add된 적 없는 파일, ignore 된 파일
  • tracked: Add된 적 있고 변경내역이 있는 파일
  • git add 명령어로 Staging area로 이동

Staging area

  • 커밋을 위한 준비 단계

    • 예시: 작업을 위해 선택된 파일들
  • git commit 명령어로 repository로 이동

Repository

  • .git directory라고도 불림
  • 커밋된 상태

위의 개념을 어려워하시는 분들이 계서서 아래 내용을 추가합니다.
어떤 파일을 그릇으로 비유해보겠습니다.

상태 설명
untracked 식기세척기에 들어가 본 적이 없거나 식기세척기 사용이 불가(ignored)한 그릇
tracked 식기세척기에 들어가 본 적이 있고 식기세척기 사용이 가능한 그릇
add 식기세척기에 넣는 행위
staging area 식기세척기 안(에 들어간 상태)
commit 세척(식기세척기 가동)
repository 세척되어 깨끗해진 상태
파일에 수정이 가해짐 그릇이 사용되어 이물질(커밋되지 않은 변경사항)이 묻음
working directory 세척되어야 하는 상태

tracked가 된다는 건, Git의 관리대상에 정식으로 등록됨을 의미합니다.
새로 추가되는 파일은 반드시 add해줌으로써, 해당 파일이 tracked될 것임을 명시해야 하는 이유입니다.
(Git이 새 파일들을 무조건 다 관리해버리는 것을 방지)



파일의 삭제와 이동

git rm

  • tigers.yaml를 삭제해본 뒤 git status로 살펴보기

    • 파일의 삭제가 working directory에 있음
    • git reset --hard로 복원

  • git rm tigers.yaml로 삭제하고 git status로 살펴보기

    • 파일의 삭제가 Staging area에 있음
    • git reset --hard로 복원

git mv

  • tigers.yamlzzamtigers.yaml로 이름변경 뒤 git status로 살펴보기
  • 복원 후 git mv tigers.yaml zzamtigers.yaml로 실행 뒤 비교



파일을 staging area에서 working directory

git restore --staged (파일명)
  • --staged를 빼면 working directory에서도 제거
  • 예전: git reset HEAD (파일명)



reset의 세 가지 옵션

  • --soft: repository에서 staging area로 이동
  • --mixed (default): repository에서 working directory로 이동
  • --hard: 수정사항 완전히 삭제

💡 수정사항 만든 뒤 테스트 해보기

🤔얄코에게 질문하기질문은 반.드.시 이리로 보내주세요! ( 강의사이트 질문기능 ✖ )

강의에서 이해가 안 되거나 실습상 문제가 있는 부분,
설명이 잘못되었거나 미흡한 부분을 메일로 알려주세요!

답변드린 뒤 필요할 경우 본 페이지에
관련 내용을 추가/수정하도록 하겠습니다.

이메일 주소
yalco@yalco.kr
메일 제목 (반드시 아래 제목을 붙여넣어주세요!)
[질문] 제대로 파는 Git & GitHub (유료 파트) 5-2

🛑질문 전 필독!!

  • 구글링을 먼저 해 주세요. 들어오는 질문의 절반 이상은 구글에 검색해 보면 1분 이내로 답을 찾을 수 있는 내용들입니다.
  • 오류 메시지가 있을 경우 이를 구글에 복붙해서 검색해보면 대부분 짧은 시간 내 해결방법을 찾을 수 있습니다.
  • 강의 페이지에 추가사항 등 놓친 부분이 없는지 확인해주세요. 자주 들어오는 질문은 페이지에 추가사항으로 업데이트됩니다.
  • "유료파트의 강의페이지는 어디 있나요?" - 각 영상의 시작부분 검은 화면마다 해당 챕터의 강의페이지 링크가 있습니다.
  • 질문을 보내주실 때는 문제가 어떻게 발생했고 어떤 상황인지 등을 구체적으로 적어주세요. 스크린샷을 첨부해주시면 더욱 좋습니다.
🌏 Why not change the world?