열심히 코드를 짜다가 슬슬 커밋을 하려던 때....
어 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 |