깃의 work-flow는 총 3가지의 작업 환경이 있다.
working directory / staging area / .git directory
우리가 프로젝트의 파일을 작업하고 수정하는 곳이 working directory
어느정도 작업한 것을 옮겨놓는 곳이 staging area
commit을 통해 외부에 저장하는 곳이 git directory
보통은 Local에 저장하지 않고 깃허브에 push 명령어를 통해 서버에 업로드한다.
서버에서 다시 Local로 다운받고자 할 땐, pull 명령어를 사용한다.
working directory는 untracked와 tracked로 나뉘어 있다.
git이 알고있는 트랙킹하는 파일이라면, tracked.
새로 만들어진 파일이거나 초기화된 파일이면 untracekd.
tracekd 파일은 현 시점에서 수정이 되었는지 유무에 따라 unmodified, modified로 나뉘어진다. unmodified는 이전 버전과 비교해서 수정되지 않았기 때문에 오직 수정이 된 파일만 staging area로 옮겨갈 수 있다.