[Git] 커밋 관리하기

zzincode·2024년 12월 2일

Git GitHub

목록 보기
5/17
post-thumbnail

✉️ 커밋 메시지 작성

커밋 시 권장사항

  1. 하나의 커밋에는 한 단위의 작업을 넣도록 한다.
  2. 커밋 메시지는 어떤 작업이 이뤄졌는지 알아볼 수 있도록 작성한다.

커밋 메시지 컨벤션

type: subject

body (optional)
...
...
...

footer (optional)

type

타입설명
feat새로운 기능 추가
fix버그 수정
docs문서 수정
style공백, 세미콜론 등 스타일 수정
refactor코드 리팩토링
perf성능 개선
test테스트 추가
chore빌드 과정 또는 보조 기능(문서 생성기능 등) 수정

subject

커밋의 작업 내용 간략히 설명

body

길게 설명할 필요가 있을 시 작성

  • Breaking point가 있을 때
  • 특정 이슈에 대한 해결 작업일 때

Gitmoji

Gitmoji 아이콘 링크


✅ 세심하게 스테이징 & 커밋

변경사항 단위(hunk)로 스테이징

git add -p
  • yn로 각 hunk 선택하여 원하는 변경사항을 확인하며 스테이징 여부 결정 가능
  • ? 입력하면 선택가능한 옵션 보여줌

변경사항 확인하고 커밋

git commit -v

commit에 담길 변화 확인하고 commit 메시지 작성


🗃️ 작업 중 다른 작업 진행해야 할 때, stash

stash 사용법

명령어설명
git stash현 작업들 치워두기
git stash apply치워둔 마지막 항목 적용
git stash drop치워둔 마지막 항목 삭제
git stash pop치워둔 마지막 항목 적용&삭제
git stash branch (브랜치명)새 브랜치 생성 후 pop
git stash clear치워둔 모든 항목 삭제

명령어설명
git stash -p원하는 hunk만 선택해서 stash
git stash -m "(stash message)”메시지와 함께 stash
git stash liststash 목록 보기

🔄 커밋 수정하기

커밋 메시지 변경

git commit --amend
  • 위 명령어로 에디터 열어 커밋 메시지 변경

커밋 메시지 한 줄로 변경

git commit --amend -m '커밋 메시지'

+) add도 한번에

git commit -a --amend -m '커밋 메시지’

🛠️ 과거 커밋 수정, 삭제, 병합, 분할

과거 커밋 관리하는 명령어

git rebase -i (대상 바로 이전 커밋)

진입 후 수정 명령어

명령어설명
p, pick커밋 그대로 두기
r, reword커밋 메시지 변경
e, edit수정을 위해 정지
d, drop커밋 삭제
s, squash이전 커밋에 합치기
  1. 커밋 메시지 변경(횻홍 -> 버그 수정)
  2. 커밋 메시지 삭제(뻘짓 삭제)
  3. 이전 커밋에 합치기(’~추가중’ 삭제 → ‘~추가 완료’ 메시지 변경)
  4. 항목 나누기
    1) commit전으로 돌아가기 위해 git reset HEAD^
    2) 각 내용 나눠서 add 및 commit 진행
    3) git rebase --conitnue로 합치기

0개의 댓글