출판 및 편집

[GIT] Stashed Changes란

windows4silver 2025. 1. 28. 10:22

Stashed Changes

Stashed Changes란 Git에서 작업 중인 변경 사항을 임시로 저장(stash)하는 기능을 의미합니다. 이는 현재 작업 중인 변경 사항을 커밋하지 않고도 저장소를 깨끗한 상태로 되돌리거나 다른 브랜치로 전환할 때 유용합니다.

Stashed changes

주요 특징

  1. 임시 저장:
    • Stash를 사용하면 현재 작업 중인 파일의 변경 사항을 임시로 저장하고, 저장소를 이전 상태로 되돌릴 수 있습니다.
    • 이때, 변경 사항은 커밋되지 않고 "Stash"라는 별도의 공간에 저장됩니다.
  2. 브랜치 전환 지원:
    • 브랜치를 변경해야 하지만 변경 사항이 커밋되지 않은 상태일 경우, Git은 이를 허용하지 않습니다.
    • 이런 상황에서 Stash를 사용하면 변경 사항을 임시로 저장하고, 자유롭게 브랜치를 전환한 뒤 다시 변경 사항을 불러올 수 있습니다.
  3. 복원 가능:
    • Stash에 저장된 변경 사항은 언제든지 다시 불러와 작업을 이어갈 수 있습니다.

주요 명령어 (CLI 기준)

  • Stash 저장: git stash
  • Stash 확인: git stash list
  • Stash 복원: git stash apply 또는 git stash pop
  • 특정 Stash 삭제: git stash drop
  • 모든 Stash 삭제: git stash clear

GitHub Desktop에서의 사용

GitHub Desktop에서는 Stashed Changes가 GUI로 표시되며, Stash에 저장된 변경 사항을 쉽게 확인하거나 복원할 수 있습니다. 현재 화면에서는 "View stash" 버튼을 통해 Stashed Changes를 확인할 수 있습니다.

사용 예시

  • 상황: 작업 중인 코드가 있지만, 갑자기 다른 작업(예: 긴급 버그 수정)을 해야 하는 경우.
    • 현재 변경 사항을 Stash로 저장합니다.
    • 긴급 작업을 수행한 후, Stash를 복원하여 기존 작업을 이어갑니다.

Stash는 작업의 연속성을 유지하면서도 효율적으로 브랜치를 전환하거나 저장소를 관리할 수 있게 해주는 유용한 도구입니다.