코드를 짜다보면 지금 작업하던 코드를 버리기는 아깝고 잠시 다른 곳에 보관하고 싶을 때가 있습니다.
이럴때 사용하는 코드가 git stash입니다.
지난시간에 실습했던 파일 a서 부터 시작하겠습니다.
command
a 만들었음 hello world
3줄에 hello world 라는 것을 적었습니다.
git stash
git stash라고만 하면 이게 어떤 작업을 한건지 구분하기 어려우니 메모를 남기면 더 좋을거 같습니다.
git stash save "a file edit"
이런식으로 메모를 남길수 있습니다.
작업 하던 내용이 기존 커밋을 기준으로 복구가 되었습니다. git stash는 git restore처럼 코드를 버리는 것이 아니라 임시보관 하는 것이기에 보관된 코드를 다시 확인 복구를 할수 있습니다.
git stash list로 저장했던 stash 목록들을 확인 할수 있습니다.
위의 코드는 가장 마지막에 저장한 stash를 복구 하는 git stash pop명령어 입니다.
만약 여러개의 목록을 저장했고 그중에 특정한것을 복구 하려면 git stash list로 아이디를 확인 하신후
git stash apply stash@{0}실행하면 복구됩니다. stash@{0}가 id부분입니다.
그런데 이렇게 작업하다 보면 stash 목록이 너무 많이 지면 복잡하겠죠? 삭제를 하는 명령어들을 확인해봅시다.
git stash drop id git stash clear git stash -p
git stash drop id: 삭제할 id만 삭제
git stash clear: 목록 전체 삭제
git stash -p: 전체 목록에서 삭제 할지 말지 y/n으로 물어봅니다.
source control
툴로 하는 부분은 위치만 알면 보고 하면 되어서 더 간단합니다. 위의 사진처럼 git stash 부분을 선택하여 저장하면됩니다.
위를 보면 command란에서 배운 apply, pop, drop 명령어들이 보입니다. 동일한 기능을 하니 필요할때 선택해서 작업하면 됩니다.
오늘은 git stash에 대해서 살펴보았습니다. 개인적으로 이 명령어는 보통 작업을 하다가 다른사람 소스를 배포해달라고 할때 작업하던 것을 stash에 옮겨 놓고 배포 작업을 할때 많이 사용하고 있습니다. 자주 사용하는 기능이니 알아 둡시다.