staging area :
선택한 파일이 있는 곳,
커밋할 대상파일이 어떤 것이 있는지 파악할 수 있습니다.
[ add와 커밋 ]
왜, staging area에 파일을 올리고(다른 말로 add한다고 합니다) commit할까?
커밋(commit)은 최종적으로 버젼을 저장하는 것입니다.
그러면 왜 처음 부터 커밋하면되지 번거롭게 중간에 add라는 과정을 거쳐서 커밋을 하는 것일까?
잘 생각해보면 알 수 있을 것 같습니다.
커밋은 의미있는 지점을 저장하는 것입니다. 그런데...
의미있는 지점을 저장할 때 여러개의 파일이 변경되어 있을 수 있는데
모두가 다 의미 있는 지점이라면 커밋하면 되지만...
그중에 몇개의 파일은 의미가 없는 지점에 있을 수 있을 것이고...
그 파일들은 커밋에서 제외시켜야 할 수도 있을 것입니다.
즉, 커밋하여 계속 관리하여야 할 파일중에서도
커밋하려는 때에, 커밋이 지금 필요한 파일과 지금은 커밋에서 제외할 파일을 구분할 필요가 있게 됩니다.
또 다른 경우도 생각해 볼 수 있을 것 같습니다.
3개의 파일이 의미있는 변경이 있는 경우라 하더라도...
한꺼번에 커밋을 하나 만들어도 되겠지만...