Programing/Git 관련

GitHub에서 작업 저장하는 법: 필수 git stash 꿀팁 5가지

Tech Energy 2024. 10. 16. 00:47
728x90
반응형

GitHub에서 작업을 하다 보면 다른 작업을 하느라 현재 진행 중인 파일을 저장하고 잠시 중단해야 할 때가 있습니다. git stash는 변경 사항을 임시로 저장하고 나중에 다시 불러올 수 있도록 해줍니다. 

 

 

git stash

현재 변경 중인 파일을 임시로 저장해 두고, 언제든지 나중에 다시 불러올 수 있습니다.

git stash
Saved working directory and index state WIP on main: 1a2b3c4 Updated README.md

 

이 메시지는 현재 작업 디렉토리와 인덱스 상태를 stash에 저장했다는 의미입니다. WIP는 "Work In Progress"의 약자로, 현재 브랜치(main)와 마지막 커밋 해시(1a2b3c4), 그리고 커밋 메시지(Updated README.md)를 표시합니다.

 

git stash pop

git stash로 저장한 내용을 복원해 작업을 재개할 때 사용하는 명령어입니다.

git stash pop
On branch main
Changes not staged for commit:
  modified:   README.md

Dropped refs/stash@{0} (76d91c2)

 

현재 브랜치(main)에서 README.md 파일이 수정되었음을 나타냅니다. 또한, stash 목록에서 가장 최근의 stash(refs/stash@{0})가 제거되었음을 알립니다. 이로써 저장했던 변경 사항이 작업 디렉토리에 다시 적용됩니다.

 

git stash list

저장된 stash 목록을 확인해 어느 시점에서 작업을 멈췄는지 파악할 수 있습니다.

git stash list
stash@{0}: WIP on main: 1a2b3c4 Updated README.md
stash@{1}: WIP on main: d5e6f7g Refactored code

 

두 개의 stash가 저장되어 있음을 보여줍니다. stash@{0}은 가장 최근에 저장된 stash로, 브랜치(main), 커밋 해시(1a2b3c4), 그리고 커밋 메시지(Updated README.md)가 표시됩니다. stash@{1}은 이전에 저장된 stash로, 동일한 브랜치에서 Refactored code라는 메시지가 있습니다.

 

git stash apply

git stash apply
On branch main
Changes not staged for commit:
  modified:   README.md

 

stash 내용을 복원했지만, stash 목록에서 삭제되지 않고 유지됩니다. README.md 파일이 수정되었음을 나타내며, 아직 staging 영역에 올라가지 않은 상태입니다. 나중에 stash를 다시 복원할 필요가 있을 경우 사용할 수 있습니다.

 

git stash drop

더 이상 필요 없는 stash 항목을 삭제합니다.

git stash drop
Dropped refs/stash@{0} (76d91c2)

 

stash 목록에서 stash@{0}이 삭제되었음을 나타냅니다. 76d91c2는 해당 stash가 저장된 커밋을 나타내며, 더 이상 이 stash는 목록에 남지 않게 됩니다. stash 목록에서 불필요한 항목을 정리할 때 유용합니다.

 

 

git stash 명령어는 작업을 임시 저장하고 복원할 때 매우 유용한 도구입니다. 특히 여러 stash를 관리하거나, 저장된 내용을 선택적으로 불러올 때 위 명령어들을 활용하면 GitHub 작업을 더욱 효율적으로 처리할 수 있습니다.

728x90
반응형