상세 컨텐츠

본문 제목

Git & Codecommit 사용법 정리

Architecture/DevOps

by 리카르돌 2021. 4. 19. 17:06

본문

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 상태

Modified : 수정한 파일을 아직 로컬 데이터베이스에 커밋하지 않음.
              Checkout 후 수정했지만, Staging Area 추가 하지 않은 경우

Staged : 현재 수정한 파일을 곧 커밋할 것이라고 표시한 상태를 의미, 파일 수정후 Staging Area 추가 시 

 

Git 프로젝트의 3가지 단계

 

  • Directory : 프로젝트의 메타데이터와 객체 데이터베이스를 저장, 저장소 Clone 시 생성된다 
  • Working Tree : 프로젝트의 특정 버전을 Checkout 한 것 (디렉토리 내 데이터베이스에서 파일을 가져와 생성)
  • Staging Area : 단순한 파일이고 곧 커밋할 파일에 대한 정보를 저장, Index라고도 함

워킹 트리에서 파일을 수정 → Staging Area에 파일을 Stage 해서 커밋할 스냅샷 생성 (모든 파일 또는 선택추가)

Staging Area에 있는 파일들을 커밋해서 Git 디렉토리에 영구적인 스냅샷으로 저장

 

 

 

Git 최초 설정

$ git config

  1. /etc/gitconfig 파일: 시스템의 모든 사용자와 모든 저장소에 적용되는 설정이다. git config --system 옵션으로 이 파일을 읽고 쓸 수 있다. (이 파일은 시스템 전체 설정파일이기 때문에 수정하려면 시스템의 관리자 권한이 필요하다.)
  2. ~/.gitconfig, ~/.config/git/config 파일: 특정 사용자(즉 현재 사용자)에게만 적용되는 설정이다. git config --global 옵션으로 이 파일을 읽고 쓸 수 있다. 특정 사용자의 모든 저장소 설정에 적용된다.
  3. .git/config : 이 파일은 Git 디렉토리에 있고 특정 저장소(혹은 현재 작업 중인 프로젝트)에만 적용된다. --local 옵션을 사용하면 이 파일을 사용하도록 지정할 수 있다. 하지만 기본적으로 이 옵션이 적용되어 있다. (당연히, 이 옵션을 적용하려면 Git 저장소인 디렉토리로 이동 한 후 적용할 수 있다.)

각 설정은 역순으로 우선시 된다. 그래서 .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

 

 

 

댓글 영역