git log (위로 올라갈수록 새롭고 아래일수록 오랜된 것)
커밋 히스토리 깔끔하게 보기(한줄로 깔끔하게)
git log —pretty=oneline
git show 아이디(4자리정도만 쳐도됨)
--- 부분은 커밋 바로 이전의 모습
+++ 부분은 해당 커밋에서의 모습
Git 최신커밋 수정하기
git commit —amend
커밋 차이점 보기
git diff 커밋아이디1 커밋아이디2
HEAD(보통 가장 최근에 한 커밋을 가리킴, 매번 더 새로운 커밋을 가리킴)
워킹디렉토리(워킹트리)
과거 커밋으로 아예 돌아가고 싶을 때!
git reset —hard 커밋아이디
git reset의 3가지 옵션
git reset —soft
git reset —mixed
git reset —hard

- git status 쓰면 staging area 볼때 쓰고 git log는 repository 조회
(정리)
- git log : 커밋 히스토리를 출력
- git log --pretty=oneline : --pretty 옵션을 사용하면 커밋 히스토리를 다양한 방식으로 출력할 수 있습니다. --pretty 옵션에 oneline이라는 값을 주면 커밋 하나당 한 줄씩 출력해줍니다.
- git show [커밋 아이디] : 특정 커밋에서 어떤 변경사항이 있었는지 확인
- git commit --amend : 최신 커밋을 다시 수정해서 새로운 커밋으로 만듦
- git config alias.[별명][커맨드] : 길이가 긴 커맨드에 별명을 붙여서 이후로 별명으로 해당 커맨드를 실행할 수 있도록 설정
- git diff [커밋 A의 아이디][커밋 B의 아이디] : 두 커밋 간의 차이 비교
- git reset [옵션][커밋 아이디] : 옵션에 따라 하는 작업이 달라짐(옵션을 생략하면 --mixed 옵션이 적용됨)
(1) HEAD가 특정 커밋을 가리키도록 이동시킴(--soft는 여기까지 수행)
(2) staging area도 특정 커밋처럼 리셋(--mixed는 여기까지 수행)
(3) working directory도 특정 커밋처럼 리셋(--hard는 여기까지 수행)
그리고 이때 커밋 아이디 대신 HEAD의 위치를 기준으로 한 표기법(예 : HEAD^, HEAD~3)을 사용해도 됨
- git tag [태그 이름][커밋 아이디] : 특정 커밋에 태그를 붙임