Study/기술 및 용어 정리

[Git] Stash, Stash pop 사용하기

토기발 2023. 6. 21. 22:18

열심히 코드를 짜다가 슬슬 커밋을 하려던 때....

 

어 git bash를 안켰었네

 

나는 다른 브랜치에서 작업중이었는데, 여기서 바로 Git pull origin main 을 해버리면 지금까지 썼던 것들이 그냥 날아가버린다....

 

이럴 때 사용할 수 있는 것이 Stash 명령어이다.

Stash를 사용하면 현재 진행중이던 내용들을 언제든지 저장해두고 다른 브랜치로 이동하여 작업한 뒤에 다시 돌아와 복구하여 작업을 계속할 수 있다.

나같은 경우가 아니더라도 A브랜치에서 작업하던 도중 급한 수정사항 등이 생겨 B브랜치로 옮겨가거나 할 때 사용하면 좋을 것이다.

그럼 사용법을 알아보자.

 

먼저 로컬저장소로 이동한다. (cd 경로 or 저장소 폴더에서 우클릭- git bash here 클릭)

 

 git stash 

이 명령어를 사용해 커밋하지 않은 내용을 임시저장한다.

 

git stash list

stash한 목록을 조회한다.

 

하나가 저장되어 있는걸 확인할 수 있다.

 

나는 이 뒤에 Git pull origin main 을 사용하여 머지된 코드들을 가져왔고 인텔리제이에는 내가 작업한 내용이 모두 사라졌다...

하지만 괜찮았다.

git stash pop

가장 최근 stash한 작업을 복구한다. 나는 stash한 작업이 한개뿐이라 저렇게 적었지만, 작업 목록이 여러개라면

stash@{1}과 같이 인수를 지정하면 특정 작업을 선택하여 복원할 수 있다.

 

* stash pop을 사용하면 stash list에서 자동으로 삭제가 되지만

git stash apply

를 쓰면 여전히 리스트에 남아있기 때문에 stash에 저장된 내용을 여러 브랜치에 적용할 수 있게 해준다.

이 경우에는 stash list에서 삭제하는 작업이 필요하다.

 

git stash drop

해당 명령어를 사용하면 가장 최근 만들어진 stash를 삭제한다.pop이나 apply와 마찬가지로 특정 작업을 삭제하고 싶다면 stash@{1}과 같이 인수를 지정하면 된다.

 

 

+앞으로는 작업하기 전에 git을 켜고 log부터 확인, pull 하고나서 작업하는 버릇을 들여야겠다.  ㅠㅠ 

 

 

 

 

'Study > 기술 및 용어 정리' 카테고리의 다른 글

REST와 RESTful API  (0) 2023.08.11
[디자인패턴] MVC, MVP, MVVM 개념과 비교  (0) 2023.07.15
[Git] Git Bash 브랜치 사용법 + pr(Pull Request)하기  (0) 2023.06.20
[Git] Git Bash 사용법  (0) 2023.06.20
[AWS] RDS란?  (0) 2023.06.18