커밋 관리하기

  1. 하나의 커밋에는 한 단위의 작업을 넣습니다.
  • 한 작업을 여러 버전에 걸쳐 커밋하지 않습니다.
  • 여러 작업을 한 버전에 커밋하지 않습니다.
  1. 커밋 메시지는 어떤 작업이 이뤄졌는지 알아볼 수 있도록 작성합니다.

커밋 메시지 컨벤션

널리 사용되는 커밋 메시지 작성방식은 아래와 같습니다.

type: subject

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

footer (optional)
  • Subject : 커밋의 작업 내용 간략히 설명
  • Body : 길게 설명할 필요가 있을 시 작성
  • Footer : Breaking Point 가 있을 때, 특정 이슈에 대한 해결 작업일 때

내용을 확인하며 hunk 별로 스테이징

git add -p

위 명령어를 사용하면 동일한 파일 내에서도 따로 스테이징을 관리할 수 있습니다.

git commit -v

해당 명령어로 변경사항을 확인하면서 커밋할 수 있습니다.

stash

작업을 하는 도중 해당 작업을 커밋하지 않고 저장하는 방법입니다.

git stash

그리고 원하는 시점, 브랜치에 다시 적용할 수 있습니다.

git stash pop

-p 옵션으로 원하는 것만 stash 할 수도 있습니다.

git stash -p

-m 옵션으로 메시지와 함께 stash 할 수 있습니다.

git stash -m "Add stash"

stash 목록보기

git stash list
     
명령어 설명 비고
git stash 현 작업들 치워두기 끝에 save 생략
git stash apply 치워둔 마지막 항목(번호 없을 시) 적용 끝에 번호로 항목 지정 가능
git stash drop 치워둔 마지막 항목(번호 없을 시) 삭제 끝에 번호로 항목 지정 가능
git stash pop 치워둔 마지막 항목(번호 없을 시) 적용 및 삭제 apply + drop
💡 git stash branch (브랜치명) 새 브랜치를 생성하여 pop 충돌사항이 있는 상황 등에 유용
git stash clear 치워둔 모든 항목들 비우기  

## 커밋 수정하기

커밋 메시지를 변경하려면 다음과 같이 명령어를 작성합니다.

git commit --amend

만약 커밋 후 다른 스테이징 파일을 추가하고 싶을 때도 동일하게 사용합니다.

커밋 메시지까지 추가하려면 아래와 같이 사용합니다.

git commit --amend -m 'commit message'

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

과거 커밋을 삭제, 병합, 분할하기 위해서는 rebase 를 사용합니다.

git rebase -i (대상 바로 이전 커밋)
명령어 설명
p, pick 커밋 그대로 두기
r, reword 커밋 메시지 변경
e, edit 수정을 위해 정지
d, drop 커밋 삭제
s, squash 이전 커밋에 합치기

태그:

카테고리:

업데이트:

댓글남기기