stash, cleaning

webDev5·2025년 2월 14일

Pro Git

목록 보기
5/6

stash

  • 워킹 디렉터리에서 수정한 파일을 저장
    • modified이면서 tracked 상태의 파일
    • staging area에 있는 파일
  • 아직 끝내지 않은 수정 사항을 스택에 저장했다가 나중에 다시 적용

하던 일 stash하기

git stash
git stash push
  • 스택에 새로운 stash 생성
  • 워킹 디렉터리에 수정 중인 작업 지워짐
git stash --keep-index
  • staging area에 있는 파일들은 stash하지 않음
git stash --include-untracked
git stash -u
  • 추적 중이지 않은 파일들도 같이 저장

stash 조회

git stash list
  • 스택에 저장한 stash 조회

stash 적용

 git stash apply <stash>
  • 스택에 저장된 stash를 적용
  • staged 상태의 파일을 staged로 자동으로 적용하지는 않음
  • 스택에 저장한 브랜치가 아닌 다른 브랜치에서도 적용 가능
  • 워킹 디렉터리가 깨끗하지 않아도 적용 가능
    • 충돌이 발생할 경우, 알려줌
git stash
  • 가장 최근의 stash 적용
git stash pop
  • 가장 최근 stash를 적용하고, 스택에서 제거
git stash apply --index <stash>
  • 스택에 저장된 stash를 적용
  • staged 상태의 파일을 staged 상태로 적용
git stash branch <브랜치>
  • 브랜치를 새로 생성하여 stash를 적용
  • 스택에 저장된 stash는 제거

stash 제거

git stash drop
  • stash를 제거

워킹 디렉터리 청소하기

git clean
  • 작업하고 있던 파일들을 삭제할 때 사용
    • Merge나 외부 도구가 만들어낸 파일
    • 이전 빌드 작업으로 생성된 파일
  • 워킹 디렉터리 안의 추적하고 있지 않은 모든 파일 삭제
    • .gitignore에 있는 목록들은 제외
  • 복원이 불가능하기 때문에 신중하게 사용
git stash –all
  • 모든 파일을 워킹 디렉터리에서 지우고 stack에 stash로 저장
  • 복구 가능
  • 위의 명령어에 비해서 안전함
 git clean -f -d
  • 하위 디렉터리까지 강제로 삭제
git clean -d -n
  • 가상으로 실행 후 결과 출력
git clean -d -x
  • .gitignore에 작성된 목록들도 삭제
profile
공부한 내용을 정리하는 블로그입니다.

0개의 댓글