반응형

여러 파일을 변경하던 도중 특정 파일만 잠시 stash 해둬야 하는 상황이 생겼다.

여러 파일에서 한 파일만 stash를 해보자.

 

git stash

아래 명령어를 통해서 원하는 파일만 stash 할 수 있다.

git stash push -p -m "stash message"

예시를 들어보자.

아래 프로젝트 구조에서 app.ts, package.json, tsconfig.json 파일이 변경되었다.

이 상황에서 app.ts만 stash를 해보자

1. 아래 명령어를 실행한다.

git stash push -p -m "test message"

2. 아래와 같은 화면이 나온다. 이때 Stash this hunk?라는 내용이 나오는데 해당 파일을 어떻게 할지 선택해주면 된다.

옵션은 다음과 같다.

y - yes; 이 작업내용을 stash 함.
n - no; 이 작업내용을 stash 하지 않음.
q - quit; stash 작업을 그만둠
a - 이 시점 이후부터의 모든 파일을 stash함.
d - 이 시점 이후부터의 모든 파일을 stast하지 않음.
e - 현재 내용을 수정함
? - print help; help를 표시함.

 

3. 우리는 이 파일만 stash 할 예정이기 때문에 y를 누르고 다음 화면에서 q를 눌러준다.

그럼 파일에서 아래 사진과 같이 app.ts만 stash가 된걸 확인할 수 있다.

 

4. 아래 명령어를 통해서 stash를 확인하자.

git stash list

입력한 메세지와 함께 stash 된 것을 확인할 수 있다.

 

 

출처

 

How do I stash only one file out of multiple files that have changed?

How do I stash only one of the multiple changed files on my branch?

stackoverflow.com

 

반응형
얼은펭귄