
Commit Message Convention은 커밋 메세지를 작성하는 방식을 합의
기본적으로 commit은 한 단위의 작업을 하나의 버전에 내용파악이 가능한 메세지와 함께 commit 하는것이 올바른 방법이다.
Commit Message Convention은 commit시 메세지를 작성하는 방식을 팀원끼리 합의한 것을 의미한다.
Commit Message Convention은 다음 양식을 참고한다.
type: subject
body (optional)
...
...
...
footer (optional)
feat: 압축파일 미리보기 기능 추가
사용자의 편의를 위해 압축을 풀기 전에
다음과 같이 압축파일 미리보기를 할 수 있도록 함
- 마우스 오른쪽 클릭
- 윈도우 탐색기 또는 맥 파인더의 미리보기 창
Closes #125
작성 방식의 구성요소는 다음과 같다.
Type : 작업의 형태| Type | 설명 |
|---|---|
feat | 새로운 기능 추가 |
fix | 버그 수정 |
docs | 문서 수정 |
style | 공백, 세미콜론 등 스타일 수정 |
refactor | 코드 리팩토링 |
perf | 성능 개선 |
test | 테스트 추가 |
chore | 빌드 과정 또는 보조 기능(문서 생성기능 등) 수정 |
Subject : 커밋의 작업 내용을 간단하게 설명Body : 긴 설명이 필요할 때 작성Footer : Breaking Point, 특정 이슈 해결 작업
Hunk는 파일전체가 아닌 부분적으로 변경한 변경사항의 단위
기존의 git add .방식은 파일 단위로 수행했다.
하지만 하나의 파일 안에서 부분적으로 변경할 부분이 있다면 기존의 방식은 불편하다.
그래서 아래 명령어를 사용하면 변경사항을 단위로 수행할 수 있다.
이 때 변경사항의 단위를 Hunk라고 한다.
git add -p
기존 파일을 수정하여 위 명렁어를 입력하면 다음과 같은 결과가 출력된다.

이 때 옵션 설명을 보려면 ?입력하고, Hunk를 선택하려면 y 또는 n을 입력한다.
y를 입력하여 다음 Hunk를 확인해보면 다음과 같다.

이처럼 위 명령어를 사용하면 한 파일에서의 변경사항을 Hunk단위로 나누어 부분적으로 확인하여 처리할 수 있다.
Hunk를 모두 처리한 뒤 아래 명령어로 변경사항을 확인하고 커밋한다.
git commit -v
Stash는 급한 작업으로 인해 기존 작업을 다른 공간에 잠시 이동
Stash는 아직 마무리하지 않은 작업을 Stack에 잠시 저장할 수 있도록 하는 명령어다.
commit은 기본적으로 특정 작업을 마무리한 뒤 commit하는 것이 올바른 방법이지만 기존 작업을 미뤄두고 급한 작업을 먼저 처리해야되는 상황이 있다.
이 때 Stash를 사용하면 아직 완료하지 않은 일을 commit하지 않고 나중에 다시 꺼내와 작업할 수 있다.

git stash
git stash pop
stashgit stash -p
stashgit stash -m 'Add Stash3'
stash목록 확인 (리스트상의 번호로 apply, drop, pop 가능)git stash list
| 명령어 | 설명 | 비고 |
|---|---|---|
git stash | 현 작업들 치워두기 | 끝에 save 생략 |
git stash apply | 치워둔 마지막 항목(번호 없을 시) 적용 | 끝에 번호로 항목 지정 가능 |
git stash drop | 치워둔 마지막 항목(번호 없을 시) 삭제 | 끝에 번호로 항목 지정 가능 |
git stash pop | 치워둔 마지막 항목(번호 없을 시) 적용 및 삭제 | apply + drop |
git stash branch (브랜치명) | 새 브랜치를 생성하여 pop | 충돌사항이 있는 상황 등에 유용 |
git stash clear | 치워둔 모든 항목들 비우기 |
Amend는 마지막 커밋메시지를 수정
Amend는 마지막 커밋 위에 새로운 내용을 덮어 저장하는 기능이다.
한글 문서에서 저장 기능은 파일 안에 새로운 내용으로 저장을 한다.
Amend는 한글 문서의 저장 기능과 유사하다.
git commit --amend
이후 에디터를 통해 커밋 메시지 변경
추가할 작업 수행
:
:
git add .
git commit --amend
이후 에디터를 통해 커밋 메시지 변경
git commit --amend -m 'Add members to Panthers and Pumas'
git rebase -i은 과거 커밋 내역을 다양하게 수정
git rebase -i의 옵션을 따로 설정하여 과거에 커밋했던 내역을 다양한 방법으로 수정할 수 있다.
기본적인 명령어 사용방법은 다음과 같다.
git rebase -i (대상 바로 이전 커밋)
`git rebase -i (대상 바로 이전 커밋)`명령어를 터미널에 입력하면 에디터를 통해 옵션을 선택할 수 있다.
초깃값은 p(pick)이며 이외에 선택할 수 있는 옵션의 종류는 다음과 같다.
| 옵션 | 설명 |
|---|---|
p (pick) | 커밋 그대로 두기 |
r (reword) | 커밋 메시지 변경 |
e (edit) | 수정을 위해 정지 |
d (drop) | 커밋 삭제 |
s (squash) | 이전 커밋에 합치기 |