티스토리 뷰
1. git stash --include-untracked
git 에서 stash 시 새 파일과 같은 untracked file은 stash에 포함해 주려면 따로 명령어를 추가해 줘야 한다.
git stash --include-untracked
위 명령어를 사용해서 stash를 추가한 후 나중에 적용해주려면
git stash list
위 코드를 작성해서 stash들의 list를 확인해야 한다. 위 코드를 작성하면 아래와 같은 stash를 볼 수 있다.
stash@{0}: WIP on ... wip: ...
이후 git stash apply stash@{0}로 신규 파일이 들어있는 stash를 적용시켜주면 된다.
2. 에러해결
나의 경우 git stash apply stash@{0}를 쳤더니 아래와 같은 에러가 발생했다.
error: unknown switch `e'
usage: git stash apply [--index] [-q | --quiet] [<stash>]
-q, --[no-]quiet be quiet, only report errors
--[no-]index attempt to recreate the index
stack overflow에서는 이유를 다음과 같이 답변해주고 있다
You need to quote the string, because your shell is eating the content of the {} as an expansion. So use git stash apply 'stash@{2}'. Alternatively you can use the SHA of the stash, or next time when you apply it, you can name the stash yourself.
셸에서 확장된다는 것은 일반적으로 중괄호 {} 안의 내용이 변수나 명령어로 해석될 수 있다는 것을 의미한다.
예를 들어, {0}이라는 표현은 셸에서는 "0번째 인자"로 해석될 수 있다. 하지만 실제로는 "stash@{0}"이라는 문자열 자체를 사용해야 하는데, 셸이 중괄호 안의 내용을 확장하여 잘못된 인자로 해석하는 문제가 발생할 수 있다.
따라서 따옴표를 사용하여 문자열을 감싸면 셸은 그 안의 내용을 확장하지 않고 원래의 문자열 그대로 사용할 수 있기 때문에 중괄호 안의 내용이 올바르게 해석되어 명령어가 제대로 동작할 수 있다.
결론적으로 아래와 같이 따옴표로 감싸주면 해결된다.
git stash apply 'stash@{0}'
참고
https://stackoverflow.com/questions/31297108/git-stash-apply-stashx-not-working-for-me
'Git&Github' 카테고리의 다른 글
- Total
- Today
- Yesterday
- hydrationboundary
- 비제어 컴포넌트
- Next.js
- 동기
- innerhtml
- 코드잇 스프린트
- rest parameter
- html
- Target
- arguments
- GitHub
- map
- Git
- tanstackquery
- 리액트
- 취업까지달린다
- react
- CSS
- 비동기
- currentTarget
- 프론트엔드
- javascript
- 중급 프로젝트
- 객체
- 유사배열객체
- 스프린트프론트엔드6기
- 배열
- 제어 컴포넌트
- 코드잇스프린트
- js
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |