GIT 기본 명령어 [week2]

ys0820.kim·2022년 9월 6일
0

Git 명령어 중 stash에 대해 정리해보았습니다.

git stash

stash는 "임시저장" 기능입니다.

commit 되지 않은 변경 사항을 별도의 stack 메모리 영역에 저장하여 보관합니다. stash 이후에 현재 branch는 가장 최근의 commit 버전으로 돌아갑니다.
즉, 현재 작업 중인 내용을 잠시 다른 저장 공간에 옮겨두는 기능입니다.
(주의사항 : git add가 되지 않은 변경점은 예외)

아래 2가지 Case에서 유용하게 사용됩니다.

1. 실수로 Master Branch에서 작업한 경우

feature branch를 새로 생성하지 않고 master/develop branch에서 개발을 진행한 경우, 현재 작업 내용을 새로운 branch로 옮겨야합니다.
--> Master에서 stash된 내용을 다른 branch에서 불러올 수 있습니다.

2. 개발이 완료되지 않은 상태에서 다른 Branch 수정이 필요한 경우

Branch를 이동하는 경우(checkout), 기존 작업 내용을 Commit해야 합니다. 급하게 다른 Branch로 이동이 필요할 때 현재 개발 내용 backup이 필요합니다.
--> 현재 개발 내용을 stash하고, 다른 branch 작업 후에 다시 현재 branch로 돌아와서 불러오기가 가능합니다.

git stash 사용하기

git stash

현재 변경점들을 stack 영역에 새로운 stash로 생성합니다.

Saved working directory and index state \
"WIP on master: 049d078 added the index file"
HEAD is now at 049d078 added the index file

git stash list

현재 저장된 stash 목록을 출력합니다.

stash@{0}: WIP on master: 049d078 added the index file
stash@{1}: WIP on master: c264051 Revert "added file_size"
stash@{2}: WIP on master: 21d80a5 added number to log

git stash apply

가장 최근에 저장한 stash를 불러와서 저장합니다.

git stash apply [stash 이름]

특정 stash를 불러와서 저장합니다. * stash 이름 예시 : stash@{0}

git stash drop

가장 최근에 저장한 stash를 삭제합니다.

git stash drop [stash 이름]

특정 stash를 삭제합니다. * stash 이름 예시 : stash@{0}

git stash pop

git stash apply + git stash drop을 합친 기능입니다.

참고자료1

참고자료2

0개의 댓글