파일의 상태 확인tracked 여부, staged 여부 등 다양한 상태 정보 확인 가능위의 경우, test2.js는 staged 상태, test1.js은 untracked 상태다음 커밋에 추가위의 명령어를 실행하면 tracked 상태인 동시에 staged 상태가 됨디렉
lr-branches-2.png안정적인 코드와 안정적이지 않은 코드를 나누어 관리브랜치를 하나의 실험실로 생각각 실험실에서 실험을 진행실험이 안정적이면 master에 합류순서master 브랜치에 안정된 버전의 코드만 둠개발 중인 코드에 대한 브랜치 생성새로 만든 브랜치
리모트 브랜치를 추적하는 레퍼런스로컬에서는 움직일 수 없고, 서버와 연결할 때마다 갱신이름은 저장소명/브랜치명 형식로컬 브랜치 이름과 트래킹 브랜치 이름을 다르게 브랜치 생성로컬 브랜치도 생성트래킹 브랜치의 이름과 같은 로컬 브랜치를 생성위의 명령어와 기능이 같음아래의
SHA-1 해시 값은 40글자라서 김커밋을 가리키거나 표현하는 방법이 여러 가지 존재해시값의 앞 몇 글자만으로 식별 가능위의 명령어 결과는 모두 같음7자의 해시값으로 보여주고 중복이 발생할 경우, 더 긴 해시값을 보여줌가장 많이 사용하는 방법해시값을 입력할 필요 없이
워킹 디렉터리에서 수정한 파일을 저장modified이면서 tracked 상태의 파일staging area에 있는 파일아직 끝내지 않은 수정 사항을 스택에 저장했다가 나중에 다시 적용스택에 새로운 stash 생성워킹 디렉터리에 수정 중인 작업 지워짐staging area
여기서 말하는 트리는 "파일의 묶음"을 의미Index(staging area)는 자료구조의 트리가 아님reset-start.pngreset-soft.png현재 브랜치를 해당 커밋으로 이동HEAD는 이동한 브랜치를 가리킴reset-mixed.png위의 1단계 과정 진행I