Git 6. 임시 처리
1. 스태시
워킹 디렉토리에 작업 중인 내용이나 커밋 되지 않은 변경 사항들이 남아 있으면 브랜치를 변경할 수 없다. 이러한 상황에서 스태시 기능을 사용한다.
간단히 말해 안전한 보관!
스태시는 현재 워킹 디렉토리 내역을 별도의 스택 영역에 잠시 보관하라는 명령으로 현재 작업을 임시로 저장할 수 있다. 브랜치를 이동할 때 작업 중인 내용 때문에 워킹 디렉토리가 충돌하는 것을 방지하는 데 사용한다.
$ git stash
$ git stash save // 여러 개의 스태시를 생성할 때 유용
$ git stash save "WIP: 메시지~" // 스태시 구별 메시지 추가 가능
$ git stash --keep-index // 스테이지 영역 파일 제외하고 스태시 생성
$ git stash --include-untracked // untracked 파일 스태시로 생성 (원래는 등록된 파일만 생성)
- 임시 저장 영역의 스택 목록 (* 스택은 FILO 구조)
$ git stash list
- 임시 저장한 스태시 불러오기
-> 스태시는 스택에서 내용을 읽어 올 때 현재 브랜치의 워킹 디렉토리와 자동 병합된다. 자동 병합이 성공하면 읽어 온 내용을 스택에서 제거한다.
-> 복원하는 도중 충돌이 생기면 스태시는 스택에 저장된 내용을 자동으로 삭제하지 않는다.
$ git stash pop
- 새로운 브랜치를 생성한 후 스태시를 적용할 때
$ git stash branch 브랜치이름
- 스태시 복사
- 스태시 복원 방법
1) pop : 스택 내용을 복원한 후 스택 목록에서 자동으로 삭제한다. 즉, 스택 내용을 워킹 디렉토리로이동
하는 것
2) apply : 스택 목록을 읽은 후 자동으로 삭제하지 않는다. 즉, 스택 내용을 워킹 디렉토리로복사
하는 것
$ git stash apply
// 예시
$ git stash apply stash@{1}
- 스태시 삭제
apply 명령어를 사용했거나 충돌이 발생했을 때 별도 명령을 통해 삭제
$ git stash drop
2. 워킹 디렉토리 청소
개발 과정에서 컴파일 등 임시로 생성되는 파일들이 생겼을 때 clean 명령어로 워킹 디렉토리에 있는 추적되지 않는 파일들을 찾아 삭제
❗❗ clean 명령어를 실행하는 순간 워킹 디렉토리의 추적되지 않는 모든 파일을 삭제하므로 주의해야 한다.
$ git clean
$ git clean -f // 강제 청소
$ git clean -n // 가상 처리 후 사용자에게 확인 요청
$ git clean -d // untracked 상태의 파일만 삭제
$ git clean -x // .gitignore에 등록한 파일까지 같이 삭제
Author And Source
이 문제에 관하여(Git 6. 임시 처리), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@1015mh/Git-6.-임시-처리저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)