commit - 커맨드 정리

ioioi·2023년 10월 27일

Git

목록 보기
5/5
post-thumbnail

📌 커밋 커맨드 정리

커밋 히스토리 👉 log

git log

커밋 하나당 한 줄씩 출력

git log --pretty=oneline

👉 alias로 설정했기 때문에 현재는 git l만 써도 같은 값을 출력 해줌

특정 커밋 변경사항 확인 👉 show

git show [커밋 아이디 - 네자리]

최신 커밋 재수정 👉 --amend

git commit --amend

긴 커맨드 별명으로 줄여쓰기 👉 alias

git config alias.[별명] [커맨드]

두 커밋 간의 차이 비교 👉 diff

git diff [이전 커밋 아이디] [최신 커밋 아이디]

📌 git reset(soft, mixed, hard)

원하는 지점의 commit으로 돌아가고 싶을 때 사용
=HEAD의 포인터를 특정 위치로 변경

HEAD 위치 옮기기 (옵션에 따라 달라짐)

HEAD란?
현재 브랜치를 가리키는 포인터

git reset [옵션] [커밋아이디 - 네자리]

옵션 1) --soft

  • HEAD가 특정 커밋을 가리키도록 이동시킴

옵션 2) --mixed

  • staging area도 특정 커밋처럼 리셋

옵션 3) --hard

  • working directory도 특정 커밋처럼 리셋
  • 기존에 존재하던 커밋을 다 제거하기 때문에 협업하는 환경에서 큰 위험 부담이 있음(협업 시 revert 사용)
  • 🔥 다른 옵션들과 달리 파일 내용을 완전히 삭제시키기 때문에 주의!!

HEAD를 기준으로 reset하기

HEAD의 위치를 기준으로 한 표기법(예 : HEAD^, HEAD~3)을 사용해도 됨

  • HEAD^ : 바로 이전 커밋
  • HEAD~2 : 현재 HEAD가 가리키는 커밋보다 2단계 전에 있는 커밋

📌 Tag

특정 커밋에 tag 붙이기

보통 프로젝트에서 주요 버전의 시작점이 되는 커밋에 태그를 달아줌
나중에 프로젝트 이력을 파악할 때 도움이 됨

git tag [태그 이름] [커밋 아이디] 
ex) git tag Version_1 845a
git tag
> Version_1

태그와 연결된 커밋이 보고 싶을 때

git show [태그이름]
ex) git show Version_1
> commit 845a~ (tag: Version_1)

태그 삭제

git tag
git tag -d [지울 태그명]
profile
UIUX/Frontend

0개의 댓글