Git 숨김 두 번


94

git 브랜치를 빠르게 전환 git stash해야했기 때문에를 실행했지만 파일 중 하나를 편집해야했기 때문에 다시 실행해야했습니다.

그래서 저는 git stash두 번 실행 했고 파일 편집으로 돌아갈 준비가되었습니다. 나는 달렸 git stash apply지만 내가 숨겨둔 모든 파일이 풀렸다 고 확신하지 못한다. 제가 뭔가할만한 일이 있을까요? 확인할 방법이 있습니까?

을 실행하면 git stash show두 개의 git stashe 중 마지막이 표시됩니다.

어쨌든 모두를 보여줄 수 git stashes있습니까?


4
git stash list. 두 개를 만들었 으면 git stash pop두 번 전화하십시오 .
Felix Kling

안녕하세요, 고쳤습니다! 대답으로 넣어야합니다. 고마워요
stephenmurdoch

답변:


169

모든 은닉 목록을 얻을 수 있습니다.

git stash list

다음과 같은 것을 보여줄 것입니다.

stash@{0}: WIP on dev: 1f6f8bb Commit message A
stash@{1}: WIP on master: 50cf63b Commit message B

두 개의 스테이시를 만들었 으면 git stash pop두 번 전화하십시오 . 반대로 git stash apply, pop적용 및 제거 최신 숨겨 놓은.

특정 숨김을 참조 할 수도 있습니다. 예 :

git stash show stash@{1}

또는

git stash apply stash@{1}

감사합니다. 내 하루를 구했습니다.
stephenmurdoch

25
git stash pop동일한 커밋에서 두 가지 스 태시를 모두 원하기 때문에 두 번을 원하지만 "오류 : 다음 파일에 대한 로컬 변경 사항이 병합으로 덮어 쓰여집니다 :"가 발생 git stash pop하면 다음을 수행 할 수 있습니다 : 1) git stash pop, 2) git add ., 3 ) git stash pop.
별점

이것은 나를 도왔다. 나는 "git stash"를 한 다음 "git stash --all"을 수행하여 새로운 추적되지 않은 파일을 숨길 필요가 있었다. git stash pop을 두 번 수행하는 것이 작동하지 않았습니다. 나중에 은신처 만 되찾았습니다.
Leopold Kristjansson

0

나는이 상황을 만났고 , 두 개의 은닉을 했고 git stash pop은 방금 마지막 은닉을 풀었습니다. 그래서 나는

git stash list

git stash pop stash@{1}

이것은 내 첫 번째 보관함을 풀고 모든 변경 사항을 다시 볼 수 있습니다!


0

게시물에서 몇 가지 다른 질문을했고 다른 응답자들이 그 중 일부에 대해 좋은 답변을했습니다. 가장 중요해 보이지만 답변을받지 못한 것은 다음과 같습니다.

>> 숨겨둔 모든 파일이 풀렸다 고 확신하지 못합니다. 제가 뭔가할만한 일이 있을까요? 확인할 방법이 있습니까?

숨김을 로컬 트리와 비교

나는 당신이 원하는 것은 당신의 지역 작업 트리 와 숨김을 비교하는 것이라고 생각합니다 . -p 스위치를 stash 명령에 놓을 수 있습니다.

git stash show -p

특정 항목이있는 경우 git stash 이름 또는 stash 목록에서 ID를 사용하십시오.

git stash show -p stash@{3}

diff를 사용할까요?

git 기술을 추진하는 데 정말로 관심이 있다면 항상 diff를 시도 할 수 있습니다. 숨김에있는 것과 마스터 브랜치의 HEAD에 체크인 된 것의 차이점을 확인하려면 다음 diff를 사용할 수 있습니다.

git diff stash@ master

편리 할 수있는 숨김 기록의 요소에 대한 변경 사항을 보여주는 또 다른 깔끔한 명령은 --stat입니다.

git stash list --stat

하지만 간단한 대답이 정답이라고 생각합니다. -p 스위치를 사용 하면 보관 한 은닉처 가 다시 튀어 나왔는지 확인할 수 있습니다 .

 git stash show -p stash@{3}
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.