Git
[Git] 커밋(commit)
염두리안
2025. 1. 9. 13:14
728x90
반응형
커밋 히스토리: 최신 커밋일수록 위쪽에 뜸
git log
// 로그를 나갈 땐 Q
// 예쁘게 출력을 원하면
git log --pretty=oneline
// 이전 커밋과 비교하기
git show [커밋ID(4자리 정도만 입력해도 됨)]
m 옵션 없이 커밋 메시지 남기기) 긴 커밋 메시지를 남길 때 사용
git commit
// 을 입력하면 텍스트에디터 창으로 넘어가서 입력 가능
최신 커밋 수정하기
git commit --amend
커밋 메시지 작성 가이드라인
- 커밋 메시지의 제목과 상세 설명 사이엔 한 줄 비우기
- 커밋 메시지의 제목 뒤엔 온점(.) 붙이지 않기
- 커밋 메시지의 제목의 첫번째 알파벳은 대문자로 작성하기
- 커밋 메시지의 제목은 명령조로 작성하기
- 커밋 상세 내용엔 왜 했는지, 어떤 문제가 있었는지, 적용한 해결책이 무엇인지를 적으면 좋음
- 최대한 친절하게 작성하기
커밋할 때 알아야할 가이드라인
- 1 커밋 1 수정사항(이슈)만 되도록 함 ~> 그래야지 이해하기 쉬움
- 현재 프로젝트 디렉토리 상태가 그 내부의 전체 코드를 실행했을 때 에러가 발생하지 않은 상태인 경우에만 커밋하기
긴 커맨드에 alias 설정하기
- alias) 커맨드 전체에 별명을 붙여서 사용하는 것
git config alias.[별명] '옵션'
// 예시
// --pretty=oneline를 alias 지정
git config alias.history 'log --pretty=oneline'
// 후에 git history를 입력하면 같은 커맨드 실행
두 커밋 간 차이 보기
git diff [이전커밋ID] [이후커밋ID]
HEAD의 의미) 보통 최신 커밋을 가리킴 | 만약 HEAD가 최신 커밋이 아닌 과거 커밋을 가리키면 워킹 디렉토리 내부도 과거 커밋의 모습대로 바뀜
이전 커밋으로 git reset하기
- --soft, --mixed, --hard 3가지 옵션이 있음
- --hard: working directory, staging area, repository 3개 다 이동한 그 커밋으로 변경됨 | 복구할 수 없기 때문에 그렇게 권장되는 옵션은 아님
- --mixed: staging area, repository는 이동한 그 커밋으로 변경, working directory는 변경 X
- --soft: repository만 이동한 커밋으로 변경, working directory, staging area는 변경 X
// git reset [옵션] [이동할ID]
git reset --hard [이동할ID]
git reset --soft [이동할ID]
git reset --mixed [이동할ID]
// ID를 쓰지 않고 이동하기
git reset [옵션] HEAD^ // 바로 이전 커밋으로 이동
git reset [옵션] HEAD~2 // 현재 HEAD보다 2단계 전 커밋으로 이동
커밋에 tag 달기) 프로젝트에서 주요 버전의 시작점이 되는 커밋에 태그를 달음
// 태그 달기
git tag [태그이름] [커밋아이디]
// 태그 조회
git tag
// 각 태그와 연결된 커밋 보기
git show [태그이름]
728x90
반응형