http://git-scm.com/book/ko/v1 을 참고했다.


우선 git은 3가지 상태를 가진다. working directory,staging area,git directory 이다.

working directory에서 작업을 하다가 git add를 통해 staging area에 등록되고 git commit을 통해 repository에 등록된다.

이때 git add를 하지않은 즉 staging area에 없는 파일들은 commit을 해도 repository에 등록되지 않는다.

즉 untracked 상태이다. 


git 저장소를 만드는 명령어 : git init

git 저장소에 파일을 넣기 위한 명령어 : git add -> git commit 

현재 working directory 에 있는 모든 파일을 adding 하는 명령어 : git add .


아무것도 모르는 초보자들은 무슨 말인지 이해가 안될 수도 있다.

간단히 말해서 git init을 통해 지금 작업하고 있는 파일들을 저장할 폴더를 만들고 

git add 를 통해 저장할 파일들을 선별해 놓고 git commit을 통해 선별된 파일들을 저장할 폴더에 넣는다고 생각하면 되겠다.



working directory - 현재 작업중인 폴더. 이 폴더에서 git init 명령으로 git repository를 생성한다.

stage area - git add 명령어를 통해 staging된 구역. 나중에 commit할 자료의 모음이다.(git reset HEAD를 통해 다시 untrack상태로 복귀하게 할 수 있다.)

git directory - commit을 통해 최종적으로 git directory에 저장된다. 나중에 프로젝트를 다시 시작할 때에도 이 저장소(git repository로 부터 불러오게 된다.)




untracked - git add 하지 않은 파일들

unmodified - git add 하였으나 수정되지 않은 파일들.

modified - git add 하고 수정된 파일들.

staged - modified 된 파일들은 다시 staging(index)구역에 올려놓고 commit해야 한다.



cf.

커밋을 되돌리는 명령어 : $ git commit --amend

커밋을 했는데 Stage하는 것을 깜빡하고 빠트린 파일이 있으면 아래와 같이 고칠 수 있다:

$ git commit -m 'initial commit'
$ git add forgotten_file
$ git commit --amend

또 중요한 개념이 하나 있는데 이미 git add로 staging area에 올린 파일을 untracked 상태로 되돌릴 수 있다. 

이를 구현하는 명령어 : git reset head 파일명

이를 응용해서 일일이 파일을 넣지 않고 git add . 를 통해 모두 staging area에 올린 후에 git reset head로 불필요한 파일만 선택적으로 제거하면 되겠다.


다음 포스팅은 git branch에 대해 포스팅 하겠다.




'소프트웨어(tool) > git' 카테고리의 다른 글

git 간단한 사용법(1)  (0) 2015.02.10
블로그 이미지

종환 Revolutionist-JongHwan

github.com/alciakng 항상 겸손하자.

댓글을 달아 주세요