git - stash

치맨·2025년 2월 9일

git,github

목록 보기
3/3

목차

git stash란

  • git stash는 작업 복사본에 적용한 변경 사항을 일시적으로 저장(또는 스태시)하여 다른 작업을 하다가 다시 돌아와서 나중에 변경 사항을 다시 적용할 수 있도록 합니다. 스태시는 컨텍스트를 빠르게 전환하고 다른 작업을 수행해야 하지만, 코드 변경을 진행하고 있고 커밋할 준비는 되지 않은 경우 편리합니다.출처 ATLASSIAN

  • 쉽게 말하면 현재 작업중인 코드를 일시적으로 저장하는 방법 중 하나.


사용 이유

  • stash의 사용 이유는 컨텍스트를 빠르게 전환하고 다른 작업을 수행해야 하지만, 코드 변경을 진행하고 있고 커밋할 준비는 되지 않은 경우 편리합니다. 입니다.
  • 말이 너무 어려운 것 같은데, 크게 2가지 상황에 자주 사용합니다.
  1. 현재 작업중인 경우 다른 사람의 branch로 checkout 할 경우
  2. 현재 작업중인 경우 이전 log로 checkout 할 경우

stash 사용 예시

  1. 현재 코드를 작성중입니다.
  1. 현재 코드 작성 중 다른 사람의 PR 혹은 여러가지 이유로 다른 브랜치로 이동하려고 하면 아래와 같은 문구가 나타납니다.

  2. commit을 하기에는 현재 작성중인 코드가 완성되지 않았기에 임시 저장 용도로 stash를 사용합니다.

  • stash 저장 명령어 : git stash save 'stash message'
  • stash 저장 list 확인 명령어 : git stash list
  1. 저장 후 다른 branch로 이동 가능합니다.

  2. 다시 stash 저장된 코드 불러오는 방법

  • stash 코드 불러오는 명령어 : git stash apply

git stash 명령어 모음

  • stash에 저장되는 코드는 stack 자료구조로 가장 마지막에 저장된 코드가 가장 최신으로 저장됩니다.
  • 아래와 같이 1, 2, 3 순서로 저장했지만, stack 자료구조로 세번째 저장된 stash 코드가 가장 최신으로 들어갑니다.
  • 명령어 모음
    • git stash list : stash된 list 목록 확인
    • git stash show : stash 된 코드 미리보기
    • git stash pop : 가장 최근 stash 불러오기 && stash에서 제거
    • git stash apply : 가장 최근 stash 불러오기 && stash에 저장
    • git stash save : stash에 코드 저장
    • git stash clear : stash에 저장된 코드들 모두 제거

git stash list

  • git stash list : stash된 list 목록 확인

git stash show

  • 가장 최신 코드만 볼 수 있습니다.
  • git stash show : stash 된 코드 미리보기
  • git stash show -p : 좀 더 구체적으로 보려면 -p 옵션을 추가해줍니다.

git stash pop

  • git stash pop : 가장 최근 stash 불러오기 && stash에서 제거

git stash apply

  • git stash apply : 가장 최근 stash 불러오기 && stash에 저장

git stash save

  • git stash save : stash에 코드 저장

git stash clear

  • git stash clear : stash에 저장된 코드들 모두 제거

git stash 주의 사항

  • stash를 사용할 때만 해당되는 내용은 아니지만, 실제로 stash 한 뒤 코드를 불러왔는데, 작업중인 코드가 사라진 경우가 있었습니다. 😭😭😭😭😭😭😭😭

  • 그 문제는 바로 저장하지 않은 뒤 stash를 한 경우 입니다.

저장하지 않은 코드 stash 해버리기(코드 날려먹기)

  1. 코드를 작성합니다.

  2. git add . 명령어를 통해 stage area로 이동합니다.

  3. git stash save '중요한 코드 저장' 명령어를 통해 stash에 저장합니다.

  4. git stash apply 명령어를 통해 stash에 저장한 코드를 불러옵니다.

  5. 아래와 같이 파일은 있는데 코드가 사라지는 아주 큰 문제가 발생할 수 있으니 stash 하기 전 반드시 저장했는지 여러번 확인 해야합니다.🚨

참고

profile
기본기가 탄탄한 개발자가 되자!

0개의 댓글