콘텐츠로 건너뛰기
GitTree

Git 가이드

Git stash: 변경 사항 저장, 브랜치 전환 및 작업 복원

긴급 수정으로 인해 완료되지 않은 작업이 중단됩니다. Git stash로 저장하고, 나중에 올바른 항목을 복원하고, 클릭하기 전에 적용, 팝업 및 충돌을 이해하세요. 시각적인 GitTree 연습이 포함되어 있습니다.

작성자: Kodmora업데이트됨 5분 읽음

Git stash는 커밋되지 않은 변경 사항을 저장하므로 다른 작업을 수행한 다음 해당 변경 사항을 다시 가져올 수 있습니다. git stash push -m "WIP: checkout form"로 시작하세요. 저장된 항목을 유지하려면 git stash apply을 사용하고, 성공적인 복원 후 제거하려면 git stash pop를 사용하여 복원합니다. 추적되지 않은 새 파일도 저작물에 속할 경우 -u를 추가하세요.

이 가이드에서는 결제 양식 중단을 예로 사용합니다. 양식을 일시 중지하고 다른 분기의 프로덕션 버그를 수정한 다음 양식으로 돌아갑니다. 시각적 둘러보기에서는 macOS, Windows 및 Linux용으로 만든 클라이언트인 GitTree를 사용합니다. 무료 플랜에는 보관함 관리가 포함되어 있습니다. 현재 공식 빌드에는 로그인이 필요합니다.

숨김, 커밋 또는 작업 트리를 사용하는 경우

작업을 일시 중지하는 방법을 선택하세요
상황사용이유
완료되지 않은 편집으로 인해 잠시 중단됨보관함일반 분기 커밋을 추가하지 않고 일시적으로 파일을 지웁니다.
원격으로 공유하거나 백업해야 하는 작업적절한 브랜치에 커밋 및 푸시보관함은 지역적으로 유지됩니다. 일반 푸시에서는 업로드되지 않습니다.
한 번에 열려고 하는 두 가지 작업작업 트리각 작업에는 자체 작업 폴더가 있습니다.

더 긴 병렬 작업의 경우 워크트리 가이드를 사용하세요. 스태시는 편리한 임시 저장소이지만 귀중한 작업을 백업하는 유일한 수단이 되어서는 안 됩니다. 작업 뒤에 항목 이름을 지정하세요. stash@{0}은 최신 항목을 의미하고 목록이 변경되면 숫자도 변경되기 때문입니다.

변경 사항 저장 및 분기 전환: 전체 예

먼저 git status 검사: 기본 숨김에는 단계적 편집을 포함하여 추적된 파일에 대한 수정 사항이 포함되지만 추적되지 않고 무시된 파일은 그대로 둡니다. 이 예에서는 양식에 새로 생성된 파일이 포함되어 있으므로 -u을 사용하세요. 이 명령은 feature/checkout 및 hotfix/payment이 이미 존재한다고 가정합니다. 자신의 지점 이름을 대체하십시오.

git status
git stash push -u -m "WIP: checkout form"
git stash list
git status
git switch hotfix/payment

반환하기 전에 핫픽스를 완료하고 테스트하고 커밋하세요. 적용하기 전에 숨김 목록과 차이점을 확인하세요. 그 동안 다른 작업이 새로운 항목을 생성했을 수도 있습니다. "stash@{0}"과 같은 선택기를 인용하면 쉘이 특수 문자를 해석하지 못하게 됩니다.

git switch feature/checkout
git stash list
git stash show -p --include-untracked "stash@{0}"
git stash apply "stash@{0}"
git status

Git stash 적용과 팝: 무엇을 선택해야 할까요?

숨김 복원
명령파일을 복원합니다보관함을 보관합니다
git stash apply "stash@{0}"예예
git stash pop "stash@{0}"예아니요, 성공 후; 예, 충돌이 발생하면 중지하세요
git stash apply --index "stash@{0}"예, 준비 상태를 복원하려고 시도합니다.예

완료되지 않은 중요한 변경 사항의 경우 먼저 적용하고 검토 및 테스트한 다음 복원된 작업을 커밋한 후 저장된 항목을 삭제하세요. 두 번 적용하면 충돌이 발생하거나 변경이 반복될 수 있습니다. 다시 시도하기 전에 작업 파일을 검사하세요. Apply나 Pop 모두 서버에 아무 것도 푸시하지 않습니다.

추적되지 않은 파일, 특정 파일 또는 단계적 변경 사항을 보관하세요.

git stash push -u -m "WIP: include new files"
git stash push -m "WIP: checkout only" -- src/checkout.ts
git stash push --staged -m "WIP: staged changes only"
git stash push --keep-index -m "WIP: keep staged work ready"

이는 함께 실행되는 시퀀스가 아닌 대체 명령입니다. -- 뒤의 경로는 숨김을 해당 경로로 제한합니다. --staged은 단계적 변경 사항만 저장합니다. --keep-index는 단계적 변경 사항을 그대로 유지하므로 다른 편집 내용을 보류하는 동안 해당 변경 사항을 테스트하거나 커밋할 수 있습니다. 그들은 다양한 문제를 해결합니다. 이전 Git 설치는 --staged을(를) 지원하지 않을 수 있습니다. git --version 및 설치된 버전에 대한 도움말을 확인하세요.

GitTree의 변경 사항을 숨기고 복원하는 방법

  1. 진행중인 작업을 점검하세요

    // WIP 행을 열고 파일을 검토한 후 커밋 옆에 있는 Stash 탭을 선택합니다.

  2. 범위를 선택하세요

    모든 변경 사항, 준비된 변경 사항만 또는 선택한 파일만 선택합니다. 새 파일이 작업에 속할 때 추적되지 않은 파일 포함을 활성화합니다.

  3. 작업 이름을 지정하세요.

    WIP: checkout form과 같은 메시지를 입력한 후 Stash를 선택하세요. 분기를 전환하기 전에 남겨진 파일을 검사하십시오. 부분 숨김은 모든 작업을 지우지 않습니다.

  4. 복원 전 미리보기

    Stashes 섹션에서 올바른 항목을 마우스 오른쪽 버튼으로 클릭하고 Show Stash를 선택하여 해당 파일을 검사하고 비교합니다. 수신 지점이 올바른지 확인하십시오.

  5. 적용, 검토 및 완료

    Apply Stash를 선택하여 항목을 유지하거나 Pop Stash를 선택하여 성공 후 제거합니다. 변경 사항을 검토하고, 테스트를 실행하고, 준비되면 커밋하세요.

Stash 탭 워크플로를 살펴보세요. 변경 사항을 검토하고 Stash의 이름을 지정한 후 저장하세요.
Stash 탭 워크플로를 살펴보세요. 변경 사항을 검토하고 Stash의 이름을 지정한 후 저장하세요.데모 저장소와의 GitTree 인터페이스입니다.

자신의 저장소에서 다음 단계를 수행하고 싶으십니까? GitTree 다운로드, 로그인하고 저장소 폴더를 엽니다. 기존 스태시는 일반 Git 스태시로 유지되며 터미널에서도 볼 수 있습니다.

git stash pop 충돌을 해결하는 방법

대상 분기가 동일한 행을 변경하면 숨김이 충돌할 수 있습니다. 실패한 팝은 숨김을 유지하지만 일부 변경 사항이 이미 적용되었을 수 있습니다. 반복해서 터뜨리지 마십시오. git status을(를) 실행하고, 병합되지 않은 각 파일을 해결하고, 의도한 해결 방법만 준비하세요. 병합 충돌 가이드에서는 마커와 3방향 편집기에 대해 설명합니다.

git status
git diff --name-only --diff-filter=U
# Edit and test each conflicted file, then stage its resolution:
git add -- src/checkout.ts
git diff --cached
git status

git stash --continue 또는 git stash --abort이(가) 없습니다. 파일이 해결되면 정상적으로 검토하고 커밋합니다. 시도를 중단하려면 적용 이전에 존재했던 모든 작업을 보존하고 변경된 모든 경로를 검사한 후 삭제하세요. 전면적인 하드 리셋을 수행하면 관련 없는 편집 내용이 지워질 수 있습니다. 대상이 너무 멀리 갈라지면 git stash branch rescue/checkout "stash@{0}"는 원래 베이스의 새 분기에서 복원합니다. 작업이 성공하면 해당 숨김 항목이 제거됩니다.

결과를 확인한 후에만 Stash를 삭제하세요.

git stash drop "stash@{0}" 앞에 git stash list을 다시 사용하세요. 위치가 변경되었을 수 있습니다. git stash clear는 전체 목록을 제거합니다. 일반 Git에서 삭제된 숨김을 복구하는 것은 불확실하며 해당 개체가 여전히 존재하는지 여부에 따라 달라집니다. 나중에 찾는 것에 의존하지 마십시오. GitTree에서 Delete Stash는 삭제된 항목을 복구 스냅샷에 유지하므로 Undo가 복원할 수 있습니다. 해당 앱별 복구로 인해 터미널 삭제가 복구 가능한 작업으로 보장되는 것은 아닙니다. 더 광범위한 복구 옵션을 보려면 Git 실수 실행 취소를 참조하세요.

자주 묻는 질문

git stash는 추적되지 않은 파일을 저장합니까?

기본적으로는 아닙니다. git stash push -u를 사용하거나 GitTree에 추적되지 않은 파일을 포함합니다. 무시된 파일에는 별도의 선택이 필요합니다. -u에는 포함되지 않습니다.

다른 브랜치에 Stash를 적용할 수 있나요?

예. 대상 지점을 확인하고 거기에 항목을 적용하십시오. 먼저 차이점을 검토하세요. 스태시는 해당 분기에 없는 코드에 따라 달라질 수 있습니다.

git stash pop은 충돌 시 숨김을 삭제합니까?

아니요. Git은 충돌 적용 시 해당 항목을 유지합니다. 항목을 직접 제거하기 전에 작업 파일을 해결하고 확인하십시오.

은닉물이 GitHub로 푸시되나요?

일반적인 git push는 숨김을 업로드하지 않습니다. 적절한 분기에 작업을 커밋하고 원격 복사본이 필요한 경우 해당 분기를 푸시하세요.

GitTree 보관함 관리는 무료인가요?

예, 보관함 관리는 무료 플랜의 일부입니다. 현재 공식 빌드에는 로그인이 필요합니다. GitTree 이 로컬 Git 워크플로에는 Pro가 필요하지 않습니다.

출처

다른 제품에 대한 주장은 2026년 10월 28일의 공식 페이지에서 확인되었습니다. 가격과 기능은 변경됩니다. 공급업체 페이지가 진실의 원천입니다.