git log 커밋 히스토리를 출력
git log --pretty=oneline --pretty 옵션을 사용하면 커밋 히스토리를 다양한 방식으로 출력할 수 있다. --pretty 옵션에 oneline이라는 값을 주면 커밋 하나당 한 줄씩 출력해준다.
git show [커밋 아이디] 특정 커밋에서 어떤 변경사항이 있었는지 확인
git commit --amend 최신 커밋을 다시 수정해서 새로운 커밋으로 만듦
git config alias.[별명] [커맨드] 길이가 긴 커맨드에 별명을 붙여서 이후로 별명으로 해당 커맨드를 실행할 수 있도록 설정
예시) git config alias.history 'log --pretty=oneline' : git history라고 입력하면 log --pretty=oneline가 실행된다.
git diff [커밋 A의 아이디] [커밋 B의 아이디] 두 커밋 간의 차이 비교
git reset [옵션] [커밋 아이디] 과거 커밋으로 아예 돌아가고 싶을 때
옵션에 따라 하는 작업이 달라진다.(옵션을 생략하면 --mixed 옵션이 적용)
(1) HEAD가 특정 커밋을 가리키도록 이동시킴(--soft는 여기까지 수행)
(2) staging area도 특정 커밋처럼 리셋(--mixed는 여기까지 수행)
(3) working directory도 특정 커밋처럼 리셋(--hard는 여기까지 수행)
그리고 이때 커밋 아이디 대신 HEAD의 위치를 기준으로 한 표기법
(예 : HEAD^ : 현재 HEAD가 가리키고 있는 커밋의 바로 이전 커밋,
HEAD~3 : 현재 HEAD가 가리키는 커밋보다 3단계 전에 있는 커밋)을 사용해도 된다.
git tag [태그 이름] [커밋 아이디]
/ git show [태그이름]
특정 커밋에 태그를 붙임 (보통 프로젝트에서 주요 버전의 시작점이 되는 커밋에 태그를 단다.)
git rest [옵션] eea5 working direcrory staging area repository
--soft 안 바뀜 안 바뀜 HEAD가 eea5 커밋 가리킴
--mixed 안 바뀜 eea5 커밋처럼 바뀜 HEAD가 eea5 커밋 가리킴
--hard eea5 커밋처럼 바뀜 eea5 커밋처럼 바뀜 HEAD가 eea5 커밋 가리킴

git reset 시 옵션들에 대한 설명

** 커밋 아이디는 앞에 4자리 까지만 입력해줘도 괜찮다.
** HEAD  : 어떤 커밋 하나를 가리킨다. 보통 가장 최근에 한 커밋을 가리키고, 매번 더 새로운 커밋을 가리킨다.
** working directory는 HEAD가 가리키는 커밋에 다라 다르게 구성된다.
** HEAD가 최신 커밋보다 더 이전의 커밋을 가리키면 working directory의 내부도 과거 커밋의 모습대로 바뀌게 된다.
**staging area에 있던 것들은 커밋을 하더라도 그것과 상관없이 계속 남아있다.
** --hard 옵션은 별로 권장되진 않는다. 커밋 이후 워킹 디렉토리에서 했던 내용들이 다 사라지고 복구를 할 수 없기 때문이다.

'코린이 개념잡기 > GIT' 카테고리의 다른 글

HEAD와 branch의 관계  (0) 2024.12.09
branch  (0) 2024.12.09
커밋 메시지 작성하기  (1) 2024.12.08
push와 pull  (0) 2024.12.08
staging area에서 파일 제거하기  (0) 2024.12.08

+ Recent posts