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
stash
git stash -p
stash
git 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) | 이전 커밋에 합치기 |