프로답게 커밋 관리하기
프로답게 커밋 관리하기
commit
commit 권장사항
- 하나의 커밋에는 한 단위의 작업을 넣기
- 커밋 메시지는 어떤 작업이 이뤄졌는지 알아볼 수 있도록 작성
commit 컨벤션
1
2
3
4
5
6
7
8
type: subject
body (optional)
...
...
...
footer (optional)
Type
| 타입 | 설명 |
|---|---|
| feat | 새로운 기능 추가 |
| fix | 버그 수정 |
| docs | 문서 수정 |
| style | 공백, 세미콜론 등 스타일 수정 |
| refactor | 코드 리팩토링 |
| perf | 성능 개선 |
| test | 테스트 추가 |
| chore | 빌드 과정 또는 보조 기능(문서 생성기능 등)수정 |
Subject
- 커밋의 작업 내용 간략히 설명
Body
- 길게 설명할 필요가 있을 시 작성
Footer
- Breaking Point가 있을 때
- 특정 이슈에 대한 해결 작업일 때
hunk 별로 스테이징하기
1
git add -p
y또는n로 각 헝크 선택
변경 사항 확인하고 커밋하기
1
git commit -v
커밋하기 애매한 변화 치워두기 (stash)
| 명령어 | 설명 | 비고 |
|---|---|---|
| git stash | 현 작업들 치워두기 | 끝에 save 생략 |
| git stash apply | 치워둔 마지막 번호(번호 없을 시) 적용 | 끝에 번호로 항목 지정 가능 |
| git stash drop | 치워둔 마지막 항목(번호 없을 시) 삭제 | 끝에 번호로 항몽 지정 가능 |
| git stash pop | 치워둔 마지막 번호(번호 없을 시) 적용 및 삭제 | apply + drop |
| git stash branch (브랜치명) | 새 브랜치를 생헝하여 pop | 충돌 사항이 있는 상황 등에 유용 |
| git stash clear | 치워둔 모든 항목들 비우기 |
커밋 수정하기
1
git commit --amend
과거의 커밋들을 수정, 삭제, 병합, 분할하기
1
git rebase -i (대상 바로 이전 커밋)
| 명령어 | 설명 |
|---|---|
| p, pick | 커밋 그대로 두기 |
| r, reword | 커밋 메시지 변경 |
| e, edit | 수정을 위해 정지 |
| d, drop | 커밋 삭제 |
| s, squash | 이전 커밋에 합치기 |
참고
이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.