Git stash

유명준·2023년 9월 11일
0

Git 공부내용 정리

목록 보기
3/3
post-thumbnail

stash (감추다, 숨겨두다) : 아직 그 브랜치의 작업이 다 끝나지 않았는데 다른 브랜치로 체크아웃을 해야하는 경우가 있을 수 있다.
-> 이때 내가 작업했던 내용을 어딘가 숨겨 놓을 수 있다.

상황1) 한 브랜치에서 작업하다 커밋하지 않고 다른 브랜치로 넘어갈 경우 이전 브랜치의 작업 내용이 다른 브랜치까지 영향을 미친다. -> 이것을 방지하기 위해 스테시를 사용할 수 있다.

git checkout -b 브랜치1
: 브랜치1이라는 브랜치를 만들면서 체크아웃한다.

git stash (save)
: save는 생략가능하다. 현재 브랜치의 내용이 저장된다. -> 여기서 git status를 써보면 내가 수정했던 내용(커밋할 내용)이 사라져있다
*깃 스테시를 했을 때 add되지않은(추적되고 있지 않은) 파일은 stash가 적용되지 않는다. -> 버전관리가 되고 있는 파일에만 스테시가 적용된다.

git stash apply
: 저장된 내용을 가져와 다시 작업 할 수 있게 해준다.

git stash list
: 지금까지 스테시한 내용들의 리스트를 보여준다. 이 내용들은 명시적으로 '삭제'하지 않는 한 계속 남아있다. (위에 있을 수록 최신이다.)

git reset --hard HEAD
: 커밋을 가장 최신상태로 돌린다.
->스테시 내용은 여전히 저장되어 있다. 어플라이 명령어를 통해 다시 가져올 수 있다.

git stash drop
: 가장 최신 스테시를 삭제한다.
*스테시는 아무리 어플라이해도 삭제되지 않기 때문에 직접 드랍으로 삭제해줘야 한다.

git stash apply; git stash drop; = git stash pop
: 적용과 삭제를 동시에 한다.

profile
백엔드 개발자가 되기 위해 노력하는 개발자 지망생입니다.

0개의 댓글