기본 명령어
git init: 리포지토리 초기화
Git으로 버전 관리를 하려면 리포지토리를 초기화해야 한다.
$ git init
git status: 리포지토리 상태 확인
Git 리포지토리의 상태를 표시하는 명령어이다.
$ git status
git add: 스테이지 영역에 파일 추가
git add
명령어는 working tree에 있는 'Untracked files'을 스테이지 영역에 등록을 한다. 스테이지 영역이란 commit
하기 전의 임시영역이다.
$ git add README.md
git commit: 리포지토리 변경 내용을 기록
스테이지 영역에 기록된 시점의 파일들을 실제 리포지토리의 변경 내역에 반영하는 것이다.
$ git commit -m "First commit"
git log: commit 확인
git log
명령어는 리포지토리에 commit된 로그를 확인하는 명령어이다. 누가 언제 commit
또는 merge
했는지, 어떤 변경이 발생했는지 등을 확인할 수 있다.
$ git log
commit 메시지의 첫번째 줄만 출력하는 방법
$ git log --pretty=short
선택한 폴더 또는 파일의 로그를 출력하는 방법
git log
명령어에 폴더 이름을 붙이면 해당 폴더에서의 로그만 표시된다. 또한 파일 이름을 붙이면 해당 파일과 관련된 로그만 표시된다.$ git log README.md
파일의 변경된 내용을 출력하는 방법
commit
에서 변경된 내용을 확인하고 싶을 때는-p
옵션을 사용한다.commit
메시지의 뒤에 변경 내용이 함께 표시된다.$ git log -p
또한, 다음과 같이 입력하면 특정 파일의
commit
로그와 변경 내용만 출력해 준다.$ git log -p README.md
git diff: 변경 내역 확인
git diff
명령어는 working tree, 스테이지 영역, 최신 commit 사이의 변경을 확인할 때 사용한다.
working tree와 스테이지 영역의 차이를 확인하는 방법
$ git diff
현재 출력된 결과에서 + 기호가 붙은 부분이 추가된 줄이다. 제거된 줄이 있다면 - 기호가 붙는다.
working tree에서 최근에 변경된 부분을 확인하는 방법
$ git diff HEAD
commit
하기전에git diff HEAD
명령어를 실행하면 현재 commit과 이전 commit의 차이를 한눈에 확인할 수 있다. 현재 명령어에 입력한HEAD
는 현재 작업하고 있는 브랜치의 최신 commit을 참조하는 포인터이다.--color-words
git diff --color-words
처럼 diff를 할 때--color-words
옵션을 추가하면 다음과 같이 변경된 라인 대신 단어(공백을 구분자로)로 표시가 된다.--word-diff
--color-words
대신--word-diff
옵션을 사용하면 다음과 같이 지워지고 추가된 단어를 좀 더 명시적(?)으로 표시한다.