본문 바로가기
형상관리/Git

git #5 커밋 관리 하기

by so5663 2023. 1. 4.

작업을 커밋할 때 권장사항

1. 하나의 커밋에는 한 단위의 작업을 넣도록 합니다.

  • 한 작업을 여러 버전에 걸쳐 커밋하지 않습니다.
  • 여러 작업을 한 버전에 커밋하지 않습니다.

2. 커밋 메시지는 어떤 작업이 이뤄졌는지 알아볼 수 있도록 작성합니다.

 

아래 명령어로 hunk별 스테이징 진행

  • git add -p
    • 옵션 설명을 보려면 ?입력 후 엔터
    • y 또는 n로 각 헝크 선택

변경사항을 확인하고 커밋하기

  • git commit -v

 

커밋 치어두기 

  • git stash
  • git stash save 와 같음
  • git stash -m 'Add Stash3' 
    • 메시지와 함께 스태시

원하는 시점, 브랜치에서 다시 적용

  • git stash pop

원하는 것만 stash 해보기

  • git stash -p

스태시 목록 보기

  • git stash list

Stash 사용법 정리

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 rebase -i (대상 바로 이전 커밋)

명령어설명

p, pick 커밋 그대로 두기
r, reword 커밋 메시지 변경
e, edit 수정을 위해 정지
d, drop 커밋 삭제
s, squash 이전 커밋에 합치기

 

s, squash

  • 첫 항목 뒤로 s 명령어 사용
  • 메시지 수정 후 저장

커밋을 나누기

  • e 명령어
  • git reset HEAD~
  • 변화들을 따로 스테이지 및 커밋
  • git rebase --continue 로 종료