728x90
반응형
docs: https://git-scm.com/book/ko/v2/Git-도구-Stashing과-Cleaning
git stash
stash는 영어로 “넣어두다” 란 뜻입니다. 위의 pull, push는 익숙해도 stash는 생소한 사람들이 많습니다. push, pull은 코드를 올리고 내리는데 필수적인 액션이라면 stash는 이 과정을 편하게 해주는 부가적인 도구이기 때문입니다. 그렇기 때문에 알고 있으면 정말 정말 정말 편합니다.
stash는 스택 구조로 관리되기 때문에 명령어도 stack의 함수와 비슷합니다.
git stash # 현재 변경 사항을 stash에 저장함
git stash list # store에 저장된 stash 리스트 보기
git stash apply # store의 맨 위에 있는(마지막에 남긴)stash 삭제하지 않고 불러옴
git stash pop # store의 맨 위에 있는 stash를 삭제하고 불러움
git stash drop # store의 맨 위에 있는(마지막에 남긴)stash 삭제
git stash <apply | pop | drop> stash@{n} # apply, pop, drop 각각의 특정 stash 삭제
git stash <apply | pop | drop> --index # Staged Changes까지 똑같이 복원
! 그냥 git stash를 하면 Staged Changes도 모두 Changes가 되어 적용되므로 Staged까지 정확하게 복원하려면 꼭 --index를 붙여줘야 해요.
아래 명령어를 터미널에 입력해주세요.
git add .
git stash
아래와 같은 화면을 볼 수 있습니다.
터미널에 입력해주세요.
git stash list
stash의 리스트가 뜨는 것을 확인할 수 있습니다.
터미널에 입력해주세요.
git stash pop
다시 변경 사항이 돌아온 것을 확인할 수 있습니다. 그리고
git stash list
를 입력하면 아래와 같이 리스트에 아무것도 없는 것을 볼 수 있어요.
git clean
git clean은 현재 커밋에 없는 모든 Changes를 삭제하는 명령어입니다. Changes를 정리하고 싶을 때 사용합니다.
git clean <-options>
-f: 삭제 기본 옵션 (설정에 따라 생략 가능, --force)
-i: 대화 모드로 삭제 (--interactive)
-n: 지워질 파일 목록 미리보기 (--dry-run)
-d: 폴더까지(포함) 삭제합니다.
-x: .gitignore 적용된 파일도 삭제
git clean -fd # 현재 커밋에 존재하지 않는 Changes의 모든 파일, 디렉터리 삭제
git clean -fdx # 위에 더해서 .gitignore에서 제외된 파일도 삭제
728x90
반응형
'GIT > GIT 배워보기' 카테고리의 다른 글
Commit, Log, Status (0) | 2023.01.28 |
---|---|
Config (0) | 2023.01.28 |
Repository, Branch, Checkout (1) | 2023.01.28 |
Add, Reset (0) | 2023.01.28 |
Remote, Changes, Staged Changes (0) | 2023.01.28 |