Git_16_stash

지원·2023년 9월 4일
0

Git

목록 보기
16/48
post-thumbnail

stash

갑자기 test 해야할 일이 생길 때

내가 잠시 작업하고 있는 내용들을 저장해두고
branch 전환을 위해서 쓸 수 있다.

버그를 고치고 있는데 다른 시도를 해보고 싶은데
여러 가지 시도들을 잠시 저장해두고 싶을 때

준비되지 않은 파일들을 commit하기보다는
stash 커멘드를 이용해서 stash stack에 잠시 저장을 해두고

test 하고싶은 branch를 checkout해서 확인한 다음에
다시 내가 원하는 순간에 stash stack에 있는 내용들을
다시 working directory로 가지고 올 수 있다.

about.txt에 수정하고 있을 때

echo add >> about.txt
git status 로 확인 

stash하기

git stash push    -- 아무런 타이틀 없이 저장
git stash push -m "first try"

수정된 파일 올리기

ehco add >> about.txt
git status -s 로 확인하기
git add .    --- staging area로 옮기기
git status -s 로 다시 확인하기

내가 index에 있는, staging area에 있는 것을 유지하면서
stash에 저장하고 싶다면

작업하고 있는 파일은 그대로 내 staging area에 두고 싶다면

git stash push -m "second try" --keep-index

tracking되지 않은 파일들도 stash에 올리고 싶다면

tracking 되지 않은 파일을 자동으로 stash에 저장되지 않은 것을 확인

echo new > new.txt
git status -s     --상태확인
git stash 
git status -s   --다시 확인했을 떄 stash에 저장되지 않은 것을 확인

tracking되지 않은 파일을 자동으로 stash에 올리기

git stash -u    (untracking의 약자)

stash 목록 확인하기

git stash list

각각 stash에서 어떤 것이 수정되었는지 확인하고싶다면

git stash show [복사한 stash 아이디]
git stash show [복사한 stash 아이디] -p       >조금 더 자세하게 보기

fix branch로 전환해서 내용들을 확인하고
이제 다시 나의 업무를 하고싶을때

작업하고 싶은 stash 복사하기

git stash list

작업하고있는 파일들이 나의 index나 working directory에 들어옴

git stash apply [복사한 stash 아이디]
git stash apply      --- 가장 최근의 commit을 apply

working directory 깔끔하게 만들기

working directory에 있는 파일들 삭제하기

git restore . 
git status 확인
git clean -fd    --- 깔끔하게 지우기

stash를 적용하면서
목록은 그대로 유지하고 싶다면
apply

하나씩 가지고 나오면서
목록에서 제거하고 싶나면
pop

제일 위에 있는 내용이 working directory로 옮겨져 나온다.

git stash pop

더 이상 필요없는 것은 삭제하기

git stash drop [삭제하고 싶은 stash 아이디]

전체 다 삭제하기

git stash clear

지금 현재 branch가 아니라
stash에 있는 것들을 적용하면서
새로운 branch를 만들고 싶다면

git stash branch [내가 원하는 branch이름]

0개의 댓글

관련 채용 정보