본문 바로가기
Git and Github

Git/github 기초, init, log, status, add, commit, show, diff

by 빠니몽 2021. 2. 4.

 

21.02.03(21.02.04)

 

 

1. 깃이란

   vcs(version control system, 버전 관리 시스템)이다.

   버전 관리는 기록, 추적, 보관, 복원으로 구성된다.

   깃의 저장소는 working tree, staging area(index), history로 구성되어있다.

 

 * 저장소 구성

  • working tree : 작업들의 변경사항을 추적한다.
  • staging area : 작업이 완료된 파일들을 올려놓는 공간
  • history : 실질적 저장소

 


2. 깃 명령어

   git init : 깃을 생성하는 명령어. working tree, staging area, history가 모두 생성된다.

   git add 파일명 : working tree에 있는 파일을 ataging area에 올리는 명령어

   git status : 깃의 상태를 볼 수 있다.

   git log : 깃의 로그를 볼 수 있다.

   git commit : 작업 이력을 로컬 저장소에 저장하는 명령어.

                    staging area에 있는 모든 파일을 패키지로 묶어서 커밋한다.

   git commit -m : 커밋할 때 title만 쓸 때의 커밋 옵션

   git show HEAD : 커밋 메세지를 볼 수 있는 명령어

   git diff : 워킹트리 파일들의 변경사항을 비교할 수 있는 명령어

 


3. 커밋 메세지

   커밋 메세지는 title, type, body, footer로 이루어져 있다.

   body와 footer은 선택사항이며 title, type만이 필수사항이다.

   커밋 메세지의 기본 형식은 "type: title"이다.

 

* type의 종류

  • feat : 새로운 문서or기능 추가
  • docs : 기존 문서or기능 수정
  • fix : 버그 수정
  • style : 코드 포맷팅
  • refactor : 코드 리팩토링
  • test : 테스트 코드
  • chore : 코드 수정 없이 설정 변경

 


4. git diff

   워킹트리 파일의 변경사항을 비교/확인하는 명령어

 

                                          git diff 옵션 및 사용법

git diff working area에 있는 모든 파일의 수정사항을 볼 수 있다.
git diff --cached/--staged staging area에 있는 모든 파일의 수정사항을 볼 수 있다.
git diff HEAD HEAD : 커밋 고유값.
해당 커밋의 변경사항을 볼 수 있다.
git diff HEAD HEAD^ HEAD^ : 전단계의 커밋값.
변경사항을 비교한다.(2번째 기준)