
데이터를 저장하기 전에 항상 체크섬을 구하고 그 체크섬으로 데이터를 관리한다.
Git 없이는 체크섬을 다룰 수 없어서 어떠한 파일이나 디렉토리도 변경할 수 없다.
체크섬은 SHA-1 해시를 사용하여 만들어진다.
예시 : 24b9da6552252987aa493b52f8696cd6d3b00373
Committed: 데이터가 로컬 데이터베이스에 안전하게 저장되었음Modified: 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않음Staged: 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태위의 세 가지 상태는 세 가지 단계와 연결되어 있다.

Index라고도 한다.Git으로 하는 일은 기본적으로 아래와 같다.
1. 워킹트리에서 파일을 수정한다.
2. Staging Area에 파일을 Stage 해서 커밋할 스냅샷을 만든다. 모든 파일을 추가할 수도 있고, 선택하여 추가할 수도 있다.
3. Staging Area에 있는 파일들을 커밋해서 Git 디렉터리에 영구적인 스냅샷으로 저장한다.
Git 디렉터리에 있는 파일들은 Committed 상태이다.
파일을 수정하고 Staging Area에 추가했다면 Staged이다.
Checkout 하고 나서 수정했지만, 아직 Staging Area에 추가하지 않았으면 Modified이다.
git config로 설정 내용을 확인하고 변경할 수 있다.
사용자 이름과 이메일 주소를 설정한다.
$ git config --global user.name minhyung
$ git config --global user.email minhyung@example.com
만약 프로젝트마다 다른 이름과 이메일 주소를 사용하고 싶으면 --global 옵션을 빼고 명령을 실행하면 된다.
기본적으로 기본 편집기를 사용한다. 다른 편집기를 사용하길 원한다면 변경할 수 있다.
$ git config --global core.editor vim
현재 적용된 편집기를 확인할 수도 있다. 실행 결과가 아무것도 뜨지 않는다면 기본 편집기를 사용한 상태이다.
$ git config --global core.editor
다른 편집기를 등록한 상태에서 기본 편집기로 돌아가고 싶은 경우에는 편집기 설정 제거를 통해 기본 편집기로 돌아갈 수 있다.
$ git config --global --unset core.editor
설정한 모든 정보를 확인할 수 있다.
$ git config --list
Git은 같은 키를 여러 파일(/ect/gitconfig와 ~/.gitconfig 같은)에서 읽기 때문에 같은 키가 여러 개 있을 수도 있다. 그런 경우 Git은 나중 값을 사용한다.
다음 명령으로 Git이 특정 Key에 대해 어떤 값을 사용하는지 확인할 수 있다.
$ git config user.name
참고문서: https://git-scm.com/book