모든 Git 스 태쉬를 한 번에 삭제하려면 어떻게해야합니까?


1406

모든 Git 숨김을 한 번에 삭제하려면 어떻게 해야합니까?

특히 하나의 명령을 입력하면 의미합니다.

답변:


2461

다음 명령은 모든 숨김을 삭제합니다.

git stash clear

로부터 자식 문서 :

clear

모든 숨김 상태를 제거하십시오.

중요 경고 : 이러한 상태는 정리 (prune) 될 수 있으며 복구가 불가능할 수 있습니다 (...).


13
왜 git stash drop하지 않습니까?
user20358

137
@ user20358 : 때문에 stash drop( " . 숨김 목록에서 하나의 은닉 상태를 제거에는 <마리화나>가 지정되지 않은 경우, 최신 하나를 제거합니다 (...). ") 질문 ( "응답하지 않습니다 어떻게 삭제할 수 있습니다 모든 의를 내 힘내가 한 번에 숨어? ")?
Tadeck September

11
답변이 언급 된 것 외에도- git stash clear모두 지워 졌는지 확인하려면git stash list
kamal

2
@ jedd.ahyoung 1,000 개의 추가 투표가 있어야합니다. 에 대한 문서 git를 찾는 것은 실제로 불가능합니다! git-scm.com/docs/git-stash
Drenai

11
@Ryan : git help <command>문서를 얻는 가장 좋은 방법입니다 (실제로는 꽤 좋습니다). 이 경우, 그 행위를 git help stash분명히 보여 git stash clear주십시오 (이것이 저에게 먼저 와서 답을 git
올리는 것을 막지 못했습니다

46

숨김을 삭제하는 방법에는 두 가지가 있습니다.

  1. 더 이상 특정 숨김이 필요하지 않은 경우 다음을 사용하여 삭제할 수 있습니다 $ git stash drop <stash_id>..
  2. 다음을 사용하여 저장소에서 모든 숨김을 삭제할 수 있습니다 $ git stash clear..

한 번 삭제 된 스 태쉬를 되 돌리는 것이 어려울 수 있습니다.

여기 참조 기사가 있습니다.


2
터미널을 닫는 것은 아무 관련이 없습니다. git은 데몬이 아니다. 호출 할 때만 실행됩니다. 터미널을 닫은 것은 확실하지 않습니다.
DylanYoung

31

이 명령을 사용하면 모든 숨김 변경 사항을 볼 수 있습니다.

git stash list

다음 명령은 모든 숨김 변경 사항을 지우는 데 사용합니다.

git stash clear

이제 숨김 영역에서 숨김 변경 사항 중 하나를 삭제하려는 경우

git stash drop stash@{index}   // here index will be shown after getting stash list.

참고 : git stash listgit의 숨김 영역에서 색인을 가져올 수 있습니다.


적어도 Windows 10을 사용하는 VSCode의 통합 터미널의 경우 git stash drop 'stash@{index}'아포스트로피가 있습니다.
오리올 미로

13

최근 보관소를 몇 개 유지하고 싶었지만 나머지는 모두 삭제했습니다.

하나를 떨어 뜨릴 때 모든 스 태쉬의 번호가 다시 매겨 지므로 실제로 이것은 쉽게 할 수 있습니다. stash @ {19}보다 오래된 모든 숨김을 삭제하려면 다음을 수행하십시오.

while git stash drop 'stash@{20}'; do true; done

이것은 Git 2.11에 도입 된 인덱스 값에 적용됩니까 git stash pop 3? 대신에 숨김 목록에서 세 번째 숨김을 참조 할 수 있습니까? while인덱스 값을 사용하여 루프 및 드롭 숨김을 사용할 수 있는지 알고 싶었습니다 .
tom_mai78101

나는 이것의 단순함, 멋진 우아한 솔루션을 좋아합니다!
도미닉

3

몇 가지 숨김을 제거 해야하는 것과 같은 다른 요구 사항이 있었으므로 아래 코드는이 경우 도움이됩니다.

#!/bin/sh
for i in `seq 5 8`
do
   git stash drop stash@{$i}
done

/ *는 5에서 8까지의 인덱스를 삭제합니다 * /


시도for iterator in `seq 5 8`; git stash drop stash@{$iterator}; done
크리스 맥 코완

3
떨어 뜨릴 때 남은 스 태시는 1 스팟 위로 이동합니다. 따라서 5에서 8을 제거하려면 뒤로 계산하거나 stash @ {5}를 네 번 제거해야합니다. 예를 들면 : for i in `seq 4`; do git stash drop 'stash@{5}'; done
워프

@ChrisMcCowan 코드가 누락되었습니다do
steezeburger

3

최신 숨김을 제거하거나 특정 색인에서 제거하려는 경우 -

git stash drop type_your_index

> git stash list

  stash@{0}: abc
  stash@{1}: xyz
  stash@{1}: pqr

> git stash drop 0

  Dropped refs/stash@{0}

> git stash list

  stash@{0}: xyz
  stash@{1}: pqr

모든 숨김을 한 번에 제거하려면 -

> git stash clear
>

> git stash list
>

경고 : 완료되면 숨김을 되돌릴 수 없습니다


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