git stash
가 상태를 저장합니다 사용
: 그것은 당신의 인덱스의 상태를 포함, (그들은 대신 특별한 refs/stash
이름을 통해 발견하고) 어떤 지점 "에"없는 두 1 커밋을 만들고, 상태 너의 일하는 나무의. 그런 다음 git reset --hard
을 사용하여 작업 트리 및 인덱스 변경 사항을 없애고 분기를 변경하는 것이 안전합니다.
stash
이 저장하지 않는 상태의 한 부분은 은닉이 저장되었을 때 있었던 지점의 이름입니다 (있는 경우).
은을 저장하려면, 현재 "분리 된"입니다 git symbolic-ref HEAD
을 (분기 이름을 가져 --short
을 사용하고 HEAD
가 기호 심판, 즉, 아닌 경우 0이 아닌 종료 참고 실행해야합니다,이 경우 당신이해야 할 수도 있습니다 현재의 커밋 ID를 어딘가에 저장하는 것, 아마도 그것을 보호하기 위해 참조에 넣는 것). 거기에 저장 할 상태입니다, 그래서 refs/stash
이 존재하고 git stash save
단계 이후 새로운 다른 커밋 ID를 가리키는 있는지 확인하는 것이 현명하다면 git stash save
아무것도 할 것
는
참고. (스크립트에서는 그렇게하기가 어렵지 않습니다 : 새로운 커밋 ID를 얻기 위해 git rev-parse -q --verify refs/stash
을 사용하고, 이전 커밋 ID를 얻기 위해 save
전에 사용하십시오. git symbolic-ref
과 마찬가지로, 참조가 존재하지 않으면 0이 아닙니다.
1 또는 세 개의 커밋 당신은 git stash save -u
또는 git stash save -a
사용하는 경우. 세 번째 커밋에는 일반적으로 혼자있는 파일 인 untracked 및 무시 된 파일이 포함됩니다. 자세한 내용은 git stash
documentation을 참조하십시오.
왜 숨기지 않을까요? – Holloway
정확히 숨겨진 내용입니다. –
다른 복제물을 만드시겠습니까? 그런 다음 원하는대로 복제하고 원래 복제본을 남겨 두었던 것처럼 보장 할 수 있습니다. 다른 한편으로는 작업 브랜치에 foo를 일시적으로 적용하고 다른 작업으로 전환 한 다음 다른 작업을 마치면 다시 작업 브랜치로 전환합니다. 상태를 완료하기 위해 작업을 재개하면 항상 git reset HEAD ~ 1을 재설정 할 수 있습니다. – slobobaby