본문 바로가기

Git & Github

git: git stash -p # git stash 부분적으로 하기

728x90
반응형

git stash는, 아직 커밋되지 않은 모든 변화분을 임시보관하며 변화분이 없도록 한다.

 

그런데 git rebase 등을 통해 특정 커밋 내역의 작업내용을 바꾸려할 때, git stash pop을 통해 변화분을 가져올 수 있는데,

문제는 원하지 않는 작업 내용이 포함되어 있기 때문에

다시 git stash를 할 수도 없고, git rebase --continue를 할수도 없다.

 

이때, 특정 변화분만 stash를 통해서 남겨두거나, 남겨두지 않을 수 있다.

 

 

위 사진과 같이 build.gradle, LoginScreen.js, ProfileUpdateScreen.js의 3가지 작업내역 중에,

ProfileUpdateScreen.js만 남겨두고

git stash를 통해서 build.gradle, LoginScreen.js만 임시보관을 하도록 한다고 하자.

 

아래 git stash 옵션 명령어로 가능하다

git stash -p

 

 

해당 부분은 stash를 통해 임시보관을 한다 -> y + Enter

 

 

stash 한다 -> y + Enter

 

 

stash 하지 않는다 -> n + Enter

 

위와같이 하고 나면 아래와 같이 스태시를 하지 않기로 한 작업분만 남게 된다.

 

이와 같이 원하는 부분만 남기고 git rebase --continue를 한 후,

필요한 부분에서 다시 git stash pop을 하면 된다.

728x90
반응형