shelve 의 기능은 아직 커밋하고 싶지않은 파일을 임시로 별도의 공간에 저장해두는 기능이다.

commit 하기전 코드를 임시로 보관하고 다른 브런치로 전환 해야하는 상황에서 유용한 기능이다.

git에서는 stash 기능이 있고 인텔리제이는  shelve 기능이 있는데

stash 와 shelve 는 동일한 기능이다. 

stash는 git 자체적으로 동작하는 기능이고

shelve는 인텔리제이(intellij)에서 자체적으로 동작하는 기능이다.

git 의 기능을 쓸지 인텔리제이의 기능을 쓸지 차이다.

 

1. Shelve 적용 방법

Commit 창(Alt+0)에서 변경된 파일 목록에서 해당 목록에서 잠시 보류하고 싶은 파일을 선택후 

오른쪽 클릭 > Shelve Changes  또는  상단 빨간 네모칸에 있는 icon을 클릭한다.

 

 

Shelve Changes 창에서 변경된 목록중 보류할 파일들을 확인하고

Commit Message 안에 기록을 해둔다. 예)local Test 용 코드 

이후 Shelve Changes 버튼을 클릭해 Shelve 를 적용한다. 

 

shelve를 적용하면 수정된 코드는 임시 보관되고 해당 파일은 작업전 내용으로 돌아간다.

Commit 창(Alt+0)에서 Changes 목록에서 제외된다.

 

 

 

2. Unshelve 적용 방법

 

위에서 임시로 보류했던 코드를 다시 현재 코드에 적용하고 싶을땐 Unshelve(보류해제) 로 되돌리면 된다.

Commit 창(Alt+0)에서 Shelf tab 으로 간다. 

 

되돌리고 싶은 보류 파일들을 선택하고 오른쪽 클릭 > Unshelve 또는  상단 빨간 네모칸에 있는 icon을 클릭한다.

 

 

 

Unshelve Changes 창에서 보류 해제 항목을 확인후  Unshelve Changes 버튼을 클릭해 보류를 해제한다.

Commit 창(Alt+0)에서 Shelf tab 에 파일을 드래그해 Commit to (브렌치명) tab 으로 이동시켜도 동일하게 적용된다.

 

 

적용 후 Commit 창(Alt+0) 또는 해당파일에서  Shelve(보류)에 적용되었던 코드가 현재코드에 반영된걸 확인 할 수 있다. 

 

 

마지막으로 git의 stash 와 인텔리제이의 shelve 기능 차이점으로 git은 브런치마다 stash가 공유가 불가능하고 

shelve는 브런치가 변경되어도 범용적으로 재사용이 가능하다.

 

부가적인 상세 옵션 설명 및 이외 shelve 에 대한 내용은 아래 공식홈페이지를 참고

https://www.jetbrains.com/help/idea/shelving-and-unshelving-changes.html#ChList

 
 
 

'Tool > IntelliJ' 카테고리의 다른 글

Intellij 파일 검색 안됨 해결 (Excluded 해제)  (0) 2022.09.08
IntelliJ 단축키 모음  (0) 2022.09.02
InteliJ 초기화면(welcome) 설정  (0) 2022.09.02

+ Recent posts