2011-10-04 7 views
2

git stash save changes_1을 사용하여 git 상태를 저장하려고했습니다. stash list를 볼 수 있습니다 : git stash listgit stash 변경 사항을 저장할 수 없습니다.

stash를 적용하려고 할 때 : git stash 적용 stash @ {0}. 이제 git diff를 사용하여 변경된 내용을 볼 수 없습니다. 그것은 "이미 uptodate!"라는 메시지를 보여주고 있습니다.

그래서 짧은 숨겨진 숨김으로 저장 한 변경 사항을 적용 할 수 없습니다. 도움이됩니다.

+3

'git stash list'와'git status'의 출력을 게시 할 수 있습니까? –

+0

나는 이런 생각을하는 데 실수를 저질렀습니다. 어떤 식 으로든 나는 그 변화를 기억하고 수동으로 코딩을했습니다 ... 도와 줘서 고마워. 이 질문을 끝내기 위해 나 자신의 투표 – kumar

답변

1

git status -s를 사용하여 변경 사항이 있는지 확인하십시오.

git stash list를 사용하지 않고 저장된 숨김이 인덱스 0에 있는지 확인하십시오. 이미 작업 브랜치의 일부인 변경을 가진 숨김을 적용하려고하면 이미 최신 상태 야.

원하는 경우 현재 분기를 마지막 커밋으로 재설정 할 수 있습니다. 힘내 초기화 - HEAD를 한 다음 다시 숨긴다. 현재의 모든 변경 사항이 숨겨져 있지 않은 상태로 처리되고 푸시되지 않은 커밋은 손실됩니다.

2

이전에 숨김을 적용하거나 적용 할 때 이러한 현상이 발생합니다. 현재 지점에는 이미 이러한 변경 사항이 있습니다. 다음과 같은 시나리오를 생각해보십시오 :

$ git diff 
diff --git a/test.txt b/test.txt 
index e69de29..9daeafb 100644 
--- a/test.txt 
+++ b/test.txt 
@@ -0,0 +1 @@ 
+test 

$ git stash 
Saved working directory and index state WIP on master: b1d46d2 test.txt 
HEAD is now at b1d46d2 test.txt 

이제 우리는 손으로 그 라인을 다시 추가하고 커밋 :

$ git diff 
diff --git a/test.txt b/test.txt 
index e69de29..9daeafb 100644 
--- a/test.txt 
+++ b/test.txt 
@@ -0,0 +1 @@ 
+test 

$ git commit -a 
[master 8efb415] test.txt 
1 files changed, 1 insertions(+), 0 deletions(-) 

$ git stash list 
[email protected]{0}: WIP on master: b1d46d2 test.txt 

$ git stash apply [email protected]{0} 
# On branch master 
nothing to commit (working directory clean) 

을 여기 git stash apply는 아무것도 실시하지 않습니다.

관련 문제