포시코딩

Eclipse Git(6) - Stash 본문

Git

Eclipse Git(6) - Stash

포시 2022. 6. 26. 18:23
728x90

개요

Stash가 필요한 상황에 대해 알아보자

  • dev 브랜치에서 작업해야 될 것을 모르고 master 브랜치에서 작업하여
    master 브랜치에 작업한 것을 dev 브랜치로 넘겨야 하는 상황일 때
  • 한 프로젝트에 대해 브랜치를 나눠 개발하는데 작업하던 도중 협업자가 코드를 확인해달라고 하는 상황에서
    해놓은 코딩은 너무 날림 코드라 commit하기엔 애매하고 그렇다고 코드를 버릴 수도 없는 상태일 때
  • 프로젝트를 마치고 리얼 배포를 한 상태에서 추가 개발을 하던 도중
    배포되어 있는 코드에서 장애가 발생했을 때, 
    급하게 배포판으로 돌아가 수정해야 하지만 지금까지 개발한 코드를 버리긴 아까운 상황일 때

* 위 예시들은 내가 현업에서 실제로 겪은 상황을 토대로 만들었다.

 

  • Stash는 워킹 디렉토리에 unstaged 파일들을 백업해놓고
    워킹 디렉토리를 깨끗한 HEAD 상태로 만드는 기능이다.
  • 스냅샷을 찍어 어딘가에 보관해놨다가 작업한 것을 그대로 다시 불러오는 것과 같음

 

사용방법

Stash

  • 코드를 작성하다 commit 없이 브랜치를 넘어갈 때 위와 같은 경고를 볼 수 있을 것이다. 
    여기서 'Stash...' 을 누르거나

 

  • 프로젝트 - 오른쪽 마우스로 Stash 할 수 있다.

 

  • 메시지와 함께 Stash하면 브랜치를 변경할 때 바로 잘 바뀌는 것을 확인할 수 있다.

 

UnStash

Stash한 목록 보는 법

 

  • stash 당시에 Unstaged Changes와 Staged Changes도 확인할 수 있다.
  • 빨간 동그라미 친 곳을 통해 다시 적용 및 삭제가 가능하다.
  • 적용 시 해당 파일 상황에 따라 conflict 발생 가능
  • 적용하기 전 현재 어떤 브랜치인지 확인은 필수

 

 

* 23년 1월 19일 기준으로 다크모드 시 가독성 떨어지는 문제 해결

* 19년도 기준으로 작성된걸 정리한 내용이라 현재 버전과 보이는게 다를 수 있습니다.

728x90

'Git' 카테고리의 다른 글

Git Upgrade - Mac(맥), Homebrew  (0) 2022.07.18
Node.js express, React 환경에서 git 쓰기  (0) 2022.07.15
Eclipse Git(5) - Cherry-Pick  (0) 2022.06.26
Eclipse Git(4) - Rebase  (0) 2022.06.26
Eclipse Git(3) - Merge  (0) 2022.06.26