리누스 토발즈라는 리눅스(Linux)라고 하는 운영 체제를 만든 사람이 만듦
Git: 버전 관리(Version Control), 협업(Cooperation)에 필요한 여러 요소들이 고려되었기 때문에, 사용성이 굉장히 좋은 프로그램
Git Hub: 원격 저장소
레포지토리(repository) : 커밋이 저장되는 곳
커밋(commit) : 프로젝트 디렉토리의 특정 모습을 하나의 버전으로 남기는 행위 & 결과물
- working directory : 작업을 하는 프로젝트 디렉토리,
working tree
라고도 함- staging area : git add를 한 파일들이 존재하는 영역, 커밋을 하면 staging area에 있는 파일들만 커밋에 반영,
index
라고도 함- repository : working directory의 변경 이력들이 저장되어 있는 영역, working directory안에 있는
.git
- Untracked 상태 : Git에 의해 변동사항이 추적되고 있지 않은 상태, git add 하지 않은 상태
- Tracked 상태 : Git에 의해 변동사항이 추적되고 있는 상태
- Staged 상태 :
staging area
에 올라와있는 상태- Unmodified 상태 : 커밋을 하고 난 직후
working directory
안의 모든 파일들이 이 상태- Modified 상태 : 최신 커밋과 비교했을 때 조금이라도 바뀐 내용이 있는 상태
git init
Git
이 관리하는 프로젝트 디렉토리(working directory
)로 설정하고, 그 안에 레포지토리(.git
디렉토리) 생성untracked
상태add
git add
커밋할 파일 지정하기commit -m
git add .
status
git reset
staging area
에서 파일 제거working directory
에 남아있음