VCS; Version Control System
버전관리시스템 - 파일변화를 시간에 따라 기록하여 파일의 변경이력을 남겨 관리를 용이하게 함
- 변경 이력을 기록을 통해서 변경된 내용을 공유
- 타인이 작업한 내용을 쉽게 병합
- 과거의 상태(ver.)로 쉽게 복구 가능
- 여러 분기(Branch)를 통해 병렬 관리 가능
Git
What is Git?
파일의 변경이력을 기록하는 것
- 복잡한 Branch 관리에 적합
- 심플하지만 핵심적 기능이 강력
- 로컬 저장소과 원격저장소의 분리
- 빠른 속도
What is Github?
- Git 저장소
- Git 저장소를 GUI 형식으로 볼 수 있도록 도와주는 서비스터미널을 이용하여 CUI 형식으로 처리할 수도 있다.
Git 작업 흐름
Working Directory
코드나 이미지가 존재하는 실제 작업하는 공간
– commit 하여 Stage Area에 올린다
– commit message를 기록하여 모두가 수정내용을 알
게 한다
Stage Area
로컬 디스크에 저장하기 전에 잠시 담아두는 공간
– 동시적 수정으로 인한 오류 및 충돌을 막아준다.
– 로컬 디스크에 commit할 파일을 골라낼 수 있도록 해준다.
– 동시 수정으로 인한 충돌(conflict) 및 충돌을 막기 위해 항상 pull을 먼저 해주는 습관을 들이자
Local Repository
로컬 디스크에 저장된 위치
– commit된 파일이 존재하는 공간
– Offline 상황에서도 접근이 가능하다
– push가 완료된 후 history를 확인해주자
Remote Repository
Git 저장소에 저장된 위치
– push된 파일이 존재하는 공간
Extra
- .gitignore 파일Git 저장소에 특정 파일이 Stage Area에 올라가지 않도록 자동관리하도록 만들어주는 파일
- 동시 수정으로 인한 오류 및 충돌 제어 오류 및 충돌이 발생할 경우 파일 내에
<<<<<<<<<<
두 내용 중 push할 내용을 선택하고 나머지 글자를 지우고 commit 후 pull & push 해주면 된다
git with command
- git init : 현재 있는 working directory에 .git 폴더 생성
- git status : 현재 working directory 상태 확인
- git clone : remote 저장소를 통째로 working directory에 복사
- git pull : remote의 정보를 가져와 working directory와 병합
- git add : 새로 만들어졌거나 변경된 파일을 working directory에서 stage에 올리기
- git commit : stage에 올라온 파일을 local repository에 올리기 + comment 남기기
- git push : remote로 파일, comment 보내기
.gitignore
. source tree > repository > repository > setting > advanced > edit