개요
Git으로 소스 코드의 버전 관리를 할 때, 새로운 기능을 개발하는 도중에, 서비스에서 버그가 발생하여 버그를 수정해야할 경우가 발생합니다. 이때, 버그 수정을 위해 새로운 브랜치를 만들어야 하는데, 현재 개발중인 기능이 커밋이 되어있지 않기 때문에, 브랜치 만들거나 다른 브랜치로 이동할 수 없습니다.
이럴때, 현재 작업중인 내용을 커밋할 수 도 있지만, 작업이 다 끝나지 않은 상황이므로, 커밋하기에는 부족한 부분이 있습니다. 이때, 사용 가능한 것이 git stash
입니다.
이번 블로그 포스트에서 git stash
를 사용하는 방법에 대해서 알아봅시다.
저장
git stash
는 Git으로 버전 관리를 하고 있는 파일에 수정 내용을 임시로 저장할 수 있는 기능입니다. 다음 명령어를 사용하여 현재 작업중인 내용을 저장할 수 있습니다.
git stash
git stash
는 Git으로 버전 관리를 하고 있는 파일들에 수정 내용을 임시로 저장하기 때문에, 새롭게 생성된 파일은 저장되지 않습니다. 새롭게 생성된 파일도 함께 저장하고 싶다면 git add
로 새롭게 생성된 파일들을 Git으로 관리하도록 한 후, git stash
를 통해 저장해야 합니다.
git add .
git stash
리스트
git stash
를 사용하여 저장하면, 스택(Stack) 형식으로 수정 사항이 저장됩니다. 이렇게 저장된 리스트를 확인하기 위해서는 다음과 같이 list
옵션을 사용할 수 있습니다.
git stash list
이렇게 명령어를 실행하면, 다음과 같이 변경 사항 저장 리스트를 확인할 수 있습니다.
stash@{0}: WIP on main: 79fb440 Merge branch 'develop' into main
불러오기
그럼 이렇게 저장된 내용을 다시 불러오는 방법에 대해서 알아봅시다. git stash
에 저장된 내용을 불러오기 위해서는 apply
옵션을 사용할 수 있습니다.
git stash apply
이렇게 저장된 stash
를 불러와 현재 브랜치에 적용할 수 있지만, git stash list
를 사용하여 stash의 리스트를 확인해 보면, 여전히 저장된 정보가 남아있는 것을 확인할 수 있습니다.
git stash list
# stash@{0}: WIP on main: 79fb440 Merge branch 'develop' into main
이렇게 남아있는 정보는 drop
옵션을 사용하여 제거할 수 있습니다.
git stash drop
만약, 저장된 내용을 적용하고, 사용한 정보를 바로 삭제하고 싶다면, pop
옵션을 사용하면 됩니다.
git stash pop
# git stash apply
# git stash drop
완료
이것으로 git stash
를 사용하여 수정하고 있는 내용을 임시로 저장하는 방법에 대해서 알아보았습니다. git stash
를 사용할 때 주의점은, 커밋이 되었거나, git add
로 추가된 파일만 임시 저장이 가능하다는 것입니다. 이제 여러분도 git stash
를 사용하여, 현재 수정중인 내용을 임시로 저장하고 다른 브랜치로 이동해 보시기 바랍니다.
제 블로그가 도움이 되셨나요? 하단의 댓글을 달아주시면 저에게 큰 힘이 됩니다!
앱 홍보
Deku
가 개발한 앱을 한번 사용해보세요.Deku
가 개발한 앱은 Flutter로 개발되었습니다.관심있으신 분들은 앱을 다운로드하여 사용해 주시면 정말 감사하겠습니다.