본문 바로가기

개인공부

Git stash(감추다 , 숨기다)

반응형

stash는 언제쓸가?? Branch로 활발하게 작업하다가.

 

그 Branch의 작업이 끝나지 않았는데 그작업을 commit 해야하는경우를 말한다.

 

그런경우 내가 작업했던 내용을 어딘가에 숨겨둘 수 있다.

 

 

master 에 f1.txt 를 생성하고 내용을 삽입

 

exp branch를 생성하고 f1.txt 내용을 수정

 

이상태에서 master branch로 돌아오고 status를 확인하면 문제가 생기는 것을 확인 할 수 있다.

exp에서 수정한 내용이 master에 영향을 준다. 

 

아직 수정이 덜끝나서 commit하기도 뭐하고 지워버리기도 애매한 이녀석을 어떻게 해야할까?

 

그에 대답은 stash 라고한다 

 

git stash --help

여러 명령을 볼 수 있다.

 

작업하는 내용을 감추고 싶을때는 git stash 라고하면 감출수 있다.

 

exp branch에서 명령어를 실행한다.

 

git stash // 현재내용 감춤

git stash apply // 다시 불러오기

 

최신 코밋으로 워킹카피를 지운다.
git reset --hard HEAD
다시 불러올 수 있다.
git stash apply
여기에 내용이 있기 때문이다.
git stash list

 

f2를 만들고 다시 stash를 하게되면 stash list에 다음과 같이 나오게되는데 위에 있을수록 최근에 stash한 것이다.

 

이때 git stash 명령어를 하게되면 깃은 가장 최근에 했던값을 적용한다.

 

git stash apply

 

apply 한다고 삭제가 되지않으니 drop을 이용해 삭제하고 

git stash drop

 

다시하면 git stash apply 를이용해서 스택처럼 두개를 적용할 수있다.

 

커맨드라인을 이용해서 적용하고 삭제를 할 수 있다.(편리하다.)

git stash apply;git stash drop;

아니면 pop으로 도 가능하다!

git stash pop

 

 

그리고 새로생긴 파일을 add를 하지않으면 stash가 되지않느다.

 

git stash 명령어는 추적되는 파일만 stash가 가능하다.. (즉 버전관리가 하는 파일에 대해서만 stash가 가능하다)

반응형

'개인공부' 카테고리의 다른 글

Git Hub 원격저장소를 지역저장소로 가져오기  (0) 2020.07.12
Git 원격 저장소  (0) 2020.07.12
Git의 충돌이 일어난다??(해결방법)  (0) 2020.07.12
Git을 병합 심화  (0) 2020.07.12
Git Branch 병합(merge)  (0) 2020.07.12