log
의 옵션들을 활용한 다양한 사용법
log
명령어는 커밋 히스토리를 조회할 수 있다.
이 때 log
에 옵션을 사용하면 다양한 변경사항들을 추가로 확인할 수 있다.
git log -p
git log -(갯수)
git log --stat
git log --oneline
git log -S (검색어)
git log --grep (검색어)
git log --all --decorate --oneline --graph
--all : 모든 브랜치 보기
--graph : 그래프 표현
--decorate : 브랜치, 태그 등 모든 레퍼런스 표시
--decorate = no
--decorate=short : 기본
--decorate = full
diff
는 파일 변경 내용의 차이점을 비교
diff
는 어떤 파일의 수정 내용을 비교하는 명령어다.
아무런 옵션 없이 사용하게 되면 워킹 디렉터리에 Unstaged
된 파일을 비교한다.
git diff
git diff --name-only
git diff --staged
git diff (커밋1) (커밋2)
git diff (브랜치1) (브랜치2)
blame
은 각 라인의 작성자를 확인
blame
은 프로젝트에서 코드를 누가 수정했는지 또는 어떤 커밋으로 수정이 되었는지 확인할 수 있다.
blame
명령어 외에도 VS Code
의 GitLens
확장 플러그인을 사용하면 더 간편하게 코드의 작성자를 확인할 수 있다.
git blame (파일명)
git blame -L (시작줄) (끝줄, 또는 +줄수) (파일명)
bisect
는 이진 탐색 알고리즘으로 문제의 발생 시점을 찾아낸다.
bisect
명령어는 커밋 히스토리의 오류를 이진 탐색 방법으로 탐색한다.
그래서 오류와 관련된 커밋을 빠르게 찾아내 수정할 수 있다.
git bisect start
git bisect bad
git checkout (해당 커밋 해시)
오류 발견
git bisect bad
오류 미발견
git bisect good
원인을 찾을 때까지 1 ~ 4과정 반복
이진 탐색 종료
git bisect reset