[git] stash (작업내용 임시 백업)

- 1 min

git stash

branch1 에서 작업중 갑자기 branch2로 넘어가야할때,

아직 작업이 완료되지 않은 내용들을 어딘가 백업하고싶을때 쓴다.

작업이된 내용까지 그냥 commit을 하고 넘어가도 되지만,

잠깐 브랜치를 바꾼다고 완료되지 않은 내용을 커밋로그에 남기는것은 찝찝하다.

stash 수행

git stash 명령을 입력하면 작업중이던 내용이 간단하게 백업이된다.

$ git stash
Saved working directory and index state WIP on branch1: 3ca7032 Fix Docs

stash 목록 보기

git stash list 명령을 통해 백업(stash)된 내용을 확인 가능하다.

$ git stash list
stash@{0}: WIP on branch1: 3ca7032 Fix Docs

stash 내용 가져오기

stash한 내용을 다시 가져오려면 git stash apply 명령을 쓰면 된다.

stash 이름을 지정할수도 있고, 인자를 주지 않으면 가장 최근의 stash를 가져온다.

$ git stash apply stash@{0}

혹은 그냥 git stash apply 0 과 같이 인덱스 번호만 써도 된다.

참고로 stash apply는 꼭 stash를 진행한 브랜치에서만 수행할 수 있는건 아니다.

branch1의 작업내용을 stash 했지만,

branch2나 다른 브랜치에서 해당 백업내용을 가져와 적용할 수 있다.

stash 삭제하기

git stash drop 명령을 통해 stash 내용을 지울 수 있다.

$ git stash drop stash@{0}

마찬가지로 git stash drop 0 과 같이 인덱스 번호(0) 만으로도 수행할 수도 있다.

stash 내용으로 새로운 브랜치 만들기

git stash branch 명령을 사용하면 된다.

인자로는 새로 만들 브랜치명을 입력하면 된다.

$ git stash branch new_branch



코딩장이

코딩장이

-장이: [접사] ‘그것과 관련된 기술을 가진 사람’의 뜻을 더하는 접미사.

rss facebook twitter github youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora