2016-07-05 2 views
1

로컬 브랜치에 새 파일을 추가했습니다. 명령 git status을 실행에 출력 아래에 있습니다 : 나는 비 추적 파일이하고 터미널에서 빨간색으로 같이git stash 오류가 발생합니다. 로컬 변경 사항을 저장하지 않습니다.

# On branch MyLocBranch 
# Untracked files: 
# (use "git add <file>..." to include in what will be committed) 
# 
# mypath/nextDir/myfile.py 
nothing added to commit but untracked files present (use "git add" to track) 

이 괜찮습니다.

이제이 변경 사항을 숨기려면 git stashgit stash save "some message" 명령을 실행했습니다. 하지만 이상한 오류 No local changes to save가 나타납니다. 변경 사항은 숨겨져 있어야합니다.

+0

@Matt Thanks. 그게 내가 찾고 있던거야! – Deca

+0

그래도 대답을 허용 된 것으로 표시 할 수 있으며, 기분이 좋으면 질문을 복제 할 수도 있습니다. – Matt

+0

완료! ... – Deca

답변

3

stash는 알려진/추적 된 파일의 변경 사항을 저장하는 데 사용됩니다. 이것은 새로운/untracked 파일이므로, git은 저장할 것이 없습니다.

참고 : 이 파일은 다른 분기로 전환하더라도 로컬 디렉토리에 남아 있습니다.

+0

하지만 git 설명서에 따르면 git 사용 작업 디렉토리 및 색인의 현재 상태를 기록하려고하지만 숨겨진 작업 디렉토리로 돌아가고 싶을 때 숨 깁니다. 명령은 로컬 수정 사항을 저장하고 작업 디렉토리를 HEAD? 미와 일치하도록 되돌립니다. 그래서 약간의 혼란 – Deca

+0

또 하나 더 많은 자식 문서에서 더 많은 것 당신이 프로젝트의 일부로 작업했을 때, 사물들이 지저분한 상태에 있고, 다른 것들을 위해 조금씩 분기를 전환하기를 원합니다. 문제는 나중에 반쯤 완료된 작업을하기 싫어서 나중에이 시점으로 돌아갈 수 있다는 것입니다. 이 문제에 대한 해답은 git stash 명령입니다. Stashing은 작업 디렉토리의 더러운 상태, 즉 수정 된 추적 파일 및 단계적 변경 사항을 취하여 언제든지 다시 적용 할 수있는 완료되지 않은 변경 사항 스택에 저장합니다. – Deca

+1

소원을 성취하기 위해 언제든지 "git add"를 사용하여 즉시 커밋을 위해 파일을 준비해야하는 새 파일을 만듭니다. 그러면 git이 그것을 여러분의 변화로 이해하고 은닉 할 수 있습니다. –

2

기본적으로 git stash은 추적되지 않은 파일을 저장하지 않습니다.

추적되지 않은 파일도 숨기려면 --include-untracked (또는 -u) 옵션을 사용할 수 있습니다.

관련 문제