카테고리 없음

특정 파일을 git stash하는 방법은 무엇인가요?

스택큐힙리스트 2023. 3. 23. 09:22
반응형

어떻게 저장할 stash에서 현재 수정 중인 파일이 아닌 특정 파일을 숨길 수 있나요?

예를 들어, git status 명령어를 실행했을 때 다음과 같은 결과가 나온다면:

younker % gst

# On branch master

# Your branch is ahead of 'origin/master' by 1 commit.

#

# Changes not staged for commit:

# (use git add ... to update what will be committed)

# (use git checkout -- ... to discard changes in working directory)

#

# modified: app/controllers/cart_controller.php

# modified: app/views/cart/welcome.thtml

#

no changes added to commit (use git add and/or git commit -a)

그리고 나는 app/views/cart/welcome.thtml 파일만 숨기고 싶습니다. 어떻게 하면 될까요? 다음과 같은 방법으로 하면 되지 않을까요? (하지만 이 방법은 작동하지 않습니다.)

git stash save welcome_cart app/views/cart/welcome.thtml

답변 1

편집: git 2.13 이후로 특정 경로를 stash에 저장하는 명령어가 있습니다: git stash push . 예를 들어:

git stash push -m welcome_cart app/views/cart/welcome.thtml

이전 답변입니다:

번역해주세요.

당신은 그것을 (git stash --patch 또는 git stash -p) 사용하여 할 수 있습니다. -- 상호 작용 모드가 시작되고 변경된 각 hunk이 표시됩니다. n을 사용하여 스태시하려는 파일을 건너 뛰고, 원하는 파일을 만나면 y을 사용하고, 나머지 hunk를 스태시하지 않고 종료하려면 q을 사용하십시오. #$*^^^$$&는 보여지는 hunk와 그 파일의 나머지 hunk를 스태시합니다.

가장 사용자 친화적인 방법은 아니지만, 정말 필요하다면 작업을 완료할 수 있습니다.

답변 2

깃 stash란 깃(Git)의 기능 중 하나로, 변경사항을 일시적으로 저장하고 나중에 다시 꺼내 사용할 수 있는 기능입니다. 이 기능은 코드를 개발하면서 다른 분기로 이동하거나, 중요한 수정작업을 시작하기 전에 현재의 변경사항을 일시적으로 저장해두고 싶을 때 유용합니다. 하지만, 모든 파일을 저장해야 하는 것은 아니며, 특정 파일만 저장하고 싶을 때도 있습니다.

특정 파일을 깃 stash에 저장하려면 명령어를 이용합니다. 먼저, 변경사항을 일시적으로 저장하기 위해 git stash save 명령어를 사용합니다. 그리고 저장할 파일을 지정하기 위해 -- 다음에 파일 경로를 지정합니다. 예를 들어, git stash save -- file.py 명령어는 file.py 파일만 stash에 저장하겠다는 것입니다.

또한, 저장된 파일을 꺼내기 위해서는 git stash apply 명령어를 사용합니다. 이 때에도 파일을 지정해주어야 합니다. 예를 들어, git stash apply stash@{0} -- file.py 명령어는 첫 번째 stash에서 file.py 파일만 꺼내겠다는 것입니다.

이처럼 깃 stash를 사용하여 특정 파일만 저장하고 꺼내는 방법을 알아보았습니다. 이 기능을 적절히 활용하면 코드를 보다 효율적으로 개발할 수 있습니다.

반응형