본문으로 바로가기
728x90
반응형

1. Working Directory

워킹 디렉토리는 프로젝트의 특정 버전을 checkout 한 것이다. git 디렉토리는 지금 작업하는 디스크에 있고 그 디렉토리 안에 압축된 데이터 베이스에서 파일을 가져와서 워킹 디렉토리를 만든다.

 

checkout란 예를 들어 A라는 장소에 있는 것을 B라는 곳으로 복사

여기서 A는 두가지가 될 수 있다. 첫째는 중앙 저장소, 둘째는 로컬 저장소

 

svn은 작업하고 나서 다이렉트로 중앙 저장소로 가지만

git은 local에서 한번 세이브 되고 나서 세이브 된걸 중앙 저장소로 한번더 세이브

 

Git의 장점은 중앙 저장소가 터져도 local에 있는 기록을 넘겨주면 설정만을 제외한 기록들이 복구 가능

인터넷이 없어도 언제든지 로컬에서 버전관리를 하고 나중에 인터넷이 연결되면 중앙 저장소로 넘기는게 가능

 

2. Staging Area

Staging Area 에서는 작업한 내용을 로컬 저장소에 세이브 하기 위해 워킹 디렉토리에서 수정하거나 새로 만들어진 파일을 이 Staging Area로 가져오는 작업을 함.

 

commit하기 전단계 $ git add ~~ 해당 파일을 Tracked 시키는 것 스냅샷을 만든다라고 이해

 

3. Git directory

여기서는 commit 이란 마무리된 작업에 작업 이력을 기록해서 저장소로 보내는 행위, 즉 Staging Area의 Tracked된 파일들을 저장소에 저장을 함

잘 저장됐으면 Committed 상태라고 함

 

 

1. 파일의 라이프 사이클

워킹 디렉토리의 모든 파일은 크게 Tracked(관리대상)와 Untracked(관리대상이 아님)로 나눈다

Tracked 파일은 이미 스냅샷에 포함돼 있던 파일이다. Tracked 파일은 또 Unmodified(수정하지 않음)와 Modified(수정함) 그리고 Staged(커밋으로 저장소에 기록할 상태)중 하나이다. 그리고 나머지 파일은 모두 Untracked 파일이다.

Untracked 파일은 워킹 디렉토리에 있는 파일 중 스냅샷에도 Staging Area에도 포함되지 않은 파일이다.

처음 장소를 Clone 하면 모든 파일은 Tracked 이면서 Unmodified 상태이다. 파일을 Checkout 하고 아무것도 수정하지 않은 상태이기 때문이다.

마지막 커밋 이후 아직 아무것도 수정하지 않은 상태에서 어떤 파일을 수정하면 Git은 그 파일을 Moidefied 상태로 인식한다. 실제로 커밋하기 위해서는 이 수정한 파일을 Staged 상태로 만들고, Staged 상태의 파일을 커밋한다.

이런 반복되는 걸 파일의 라이프 사이클이라고 한다.

728x90
반응형

'PROGRAM > 공부자료' 카테고리의 다른 글

Git 오류 메세지 모음  (0) 2019.07.05
개인) Git 수정하고 저장하기  (0) 2019.07.05
개인) Git / GitHub  (0) 2019.07.04