Git & Codecommit 사용법 정리
Git
git 참고서적 : git-scm.com/book/ko/v2
Git - Book
git-scm.com
- 기존 VCS는 파일의 변화를 시간순으로 관리 (델타기반) 하나 Git의 경우 데이터를 sanpshot의 stream 처럼 관리한다.
- 모든 명령을 Local에서 실행하여 network 성능에 따른 영향을 받는 VCS보다 빠르다.
-> 로컬 데이터베이스에서 히스토리를 읽어서 보여 준다. - 데이터를 저장하기 전에 항상 SHA-1으로 Checksum을 구하고 데이터를 관리한다.
- 3가지 Status -> Committed / Modified / Staged
Committed : 데이터가 로컬 데이터베이스에 안전하게 저장됐다. git directory 파일들은 Committed 상태 |
Git 프로젝트의 3가지 단계
- Directory : 프로젝트의 메타데이터와 객체 데이터베이스를 저장, 저장소 Clone 시 생성된다
- Working Tree : 프로젝트의 특정 버전을 Checkout 한 것 (디렉토리 내 데이터베이스에서 파일을 가져와 생성)
- Staging Area : 단순한 파일이고 곧 커밋할 파일에 대한 정보를 저장, Index라고도 함
워킹 트리에서 파일을 수정 → Staging Area에 파일을 Stage 해서 커밋할 스냅샷 생성 (모든 파일 또는 선택추가)
→ Staging Area에 있는 파일들을 커밋해서 Git 디렉토리에 영구적인 스냅샷으로 저장
Git 최초 설정
$ git config
각 설정은 역순으로 우선시 된다. 그래서 .git/config 가 /etc/gitconfig 보다 우선한다. |
- 사용자 정보 등록
$ git config --global user.name "사용자명"
$ git config --global user.email 이메일
- 설정확인
$ git config --list
- 도움말 확인
$ git help <verb>
$ git 명령어 -h
$ git clone 사용자명@호스트명:/저장소경로/
저장소 생성
# 새로운 저장소 생성
$ git init
# Local 저장소에 복제 (clone)
$ git clone /저장소경로/
# 원격 저장소에 복제 (clone)
$ git clone 사용자명@호스트명:/저장소경로/
Work flow