Git에서 작업 중인 내용을 임시 저장하고 다른 작업으로 전환할 때 두 가지 방법

oversleep·2025년 2월 19일
0

git

목록 보기
5/11
  1. WIP (Work In Progress) 커밋으로 저장:
git add .
git commit -m "WIP: 소셜 로그인 구현 중"

나중에 다시 작업할 때:

git checkout feature/google-social-login  # 해당 브랜치로 이동
git log  # WIP 커밋 확인
  1. Git stash 사용 (더 권장되는 방법):
git stash save "소셜 로그인 구현 중 임시 저장"

나중에 다시 작업할 때:

git stash list  # 저장된 stash 목록 확인
git stash apply stash@{0}  # 특정 stash 적용
# 또는
git stash pop  # 가장 최근 stash 적용 및 삭제
  1. untracked 파일(새로 만들었지만 아직 git에 추가되지 않은 파일)까지 stash에 포함하려면 -u 또는 --include-untracked 옵션을 사용:
git stash save -u "소셜 로그인 구현 중 임시 저장"
# 또는
git stash save --include-untracked "소셜 로그인 구현 중 임시 저장"

간단하게는:

git stash -u

이렇게 하면 tracked 파일의 변경사항과 untracked 파일 모두 stash에 저장됩니다.

stash를 사용하는 것이 더 깔끔한 이유는:

  1. 불필요한 커밋이 남지 않음
  2. 작업 내역을 더 명확하게 관리할 수 있음
  3. 여러 개의 작업을 따로 저장 가능

기존 브랜치명을 바꾸는 방법

  1. 현재 브랜치 이름을 바꾸고 싶다면:

    git branch -m 새-브랜치명

    예시:

    git branch -m feat/landing-page
  2. 다른 브랜치 이름을 바꾸고 싶다면 (현재 브랜치가 아닐 경우):

    git branch -m 기존-브랜치명 새-브랜치명

    예시:

    git branch -m feat/social-login feat/auth-social-login
  3. 원격 저장소(GitHub 등)에도 반영하려면:

    git push origin -u 새-브랜치명
    git push origin --delete 기존-브랜치명

    🚨 주의: 원격 저장소에는 새로운 브랜치로 푸시해야 하고, 기존 브랜치는 삭제해야 함.
    예시:

    git push origin -u feat/auth-social-login
    git push origin --delete feat/social-login
  4. 다른 개발자가 쓰고 있는 브랜치라면?

    • 공유된 브랜치면 팀원들에게 알려주고, git fetch --prune 해서 정리하도록 하면 돼.
profile
궁금한 것, 했던 것, 시행착오 그리고 기억하고 싶은 것들을 기록합니다.

0개의 댓글