[Git] Git 기본 개념 (1)
Git 기본 개념
1. commit, push, pull
Local Repository Remote Repository
0) git add
최초) untracked 된 파일만 있을 때 add해주지 않으면 commit이 안됌.
파일을 생성하거나 수정한 모습이 커밋에 포함될 거라 지정처리하는걸 git add라고 함.
일부면 git add filename.vue 일괄 add면 git add .
1) commit
프로젝트 디렉토리의 특정 모습을 하나의 버전으로 남기는 행위 & 결과물
2) git push
로컬 레포지토리의 내용을 리모트 레포지토리로 보내는 커맨드
3) git pull
리모트 레포지토리의 내용을 로컬 레포지토리 내용으로 가져오는 커맨드
2. ※ 첫 commit 시 주의사항
1) 최초로 commit하기 전, 유저명과 이메일을 설정한다.
git config [user.name](http://user.name) "유저이름"
git config user.email "user@useremail.com"
2) commit을 할 땐 어떤 부분을 작업했는지 커밋메세지를 잘 작성한다.
git commit -m "메세지명"
3) 커밋할 파일을 git add로 지정해주기
최초로 commit할 때는 Untracked files 경고를 준다. 이는 git으로 파일들이 추적되지 않는 상태를 뜻하는데 즉 버전관리의 대상이 아니라는 뜻이다
git add .
3. Git의 3가지 작업영역
1) working directory (=working tree)
작업을 하는 프로젝트 디렉토리
2) staging area (=index)
git add를 한 파일들이 존재하는 영역. 커밋을 하게되면 staging area에 있는 파일들만 커밋에 반영
→ staging area가 필요한 이유? 모든 파일을 커밋에 반영하고싶지 않을 때, 즉 선별적으로 커밋에 반영하는 것이 수월하게끔 한다. 세밀한 버전관리를 가능하게 한다.
→ staging area의 파일들은 커밋 후 사라지는걸까? staging area에 있던 것들은 커밋을 한다고 사라지는게 아님. git add를 할 때마다 새로운 파일 추가되거나 새로운 버전으로 교체되는것 뿐. 항상 남아있음
3) repository
working directory의 변경 이력들이 저장되어있는 영역 (.git 폴더)
4. Git의 status
git의 현재상태를 보여줌. git이 인식하고 있는 프로젝트 디렉토리의 현재 상태
git status
5. Git이 보는 파일의 4가지 상태
1) Untracked 상태
추적되지 않고 있는 상태. 파일이 git에 의해서 전혀 추적되고 있지 않은 상태를 뜻하며 파일을 새로 생성하고 그 파일을 한번도 add 해주지 않았다면 이 상태임
2) Tracked 상태
파일이 git에 의해 그 변동사항이 추적되고 있는상태
-
Staged 상태
파일의 내용이 수정되고나서 staging area에 올라와있는 상태
git add 후의 상태
-
Unmodified 상태
현재 파일의 내용과 최신 커밋의 내용이 동일할 때. 수정되지 않은, 변한게 없는 상태
커밋을 하고난 직후에 working directory안의 모든 파일의 상태
-
Modified 상태
최신 커밋의 내용과 비교했을 때 조금이라도 바뀐 상태