cp f1.txt f2.txt
로 f2.txt
라는 파일을 만들고 git add f2.txt
, git commit
으로 버전 관리를 시작해보자.
이제 가지고 있는 두 파일을 모두 수정해보자.
그 다음, git add f1.txt
로 f1.txt
파일만 버전 관리를 시작해보자. git status
를 입력하면,
$ git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
modified: f1.txt
Changes not staged for commit:
(use "git add <file>..." to update what will be committed)
(use "git restore <file>..." to discard changes in working directory)
modified: f2.txt
와 같은 결과를 볼 수 있다. f1.txt
만 git commit
시 커밋될 것이다.
프로젝트를 진행하다 보면 커밋하는 시기를 놓칠 수 있다. 커밋 하나는 하나의 작업을 담고 있는 것이 이상적이기 때문에 커밋의 시기를 놓쳤을 때, git add
라는 명령어를 통해 커밋하고자 하는 파일만 커밋할 수 있다. 결국, 선택적으로 커밋할 수 있게 해준다는 것이다.
git add
의 과정(커밋하고 싶은 파일만 커밋할 수 있게 하는 과정)은 Git이 가진 기존 버전 관리 시스템과의 차별화된 기능이다.
git add
는 파일을 Staging Area에 넣어주는 명령어다.
git commit
은 Staging Area에 있는 파일들만 커밋하게 해준다.
Git은 아래의 구조를 가지고 있음을 기억해두자.