나는 shelve
Git 의 측면에 매우 익숙하지 않다 . stash
미완성 된 작업을 제쳐 놓는 데 사용 된다면 무엇 shelve
입니까? 무엇을 위해 사용 하시겠습니까?
예를 들어 프로젝트 업데이트 (VCS 메뉴)
하나는 얻을 것이다 (Idea 2019.2)
답변
git shelve
Git에는 존재하지 않습니다.
만 git stash
:
- 작업 디렉토리 및 색인의 현재 상태를 기록하지만 깨끗한 작업 디렉토리로 돌아가고 싶을 때.
- 로컬 수정 사항을 저장하고 HEAD 커밋과 일치하도록 작업 디렉토리를 되돌립니다.
브랜치에서 수정 사항을 격리하기 위해 2008 년 오래된 프로젝트 git shelve 가 있었지만 오늘날에는 그다지 유용하지 않습니다.
Intellij IDEA 쉘프 대화 상자에 설명 된대로 ” 쉘프 및 언 쉘빙 “기능 은 VCS (버전 제어 시스템 도구)에 연결되지 않고 IDE 자체에 연결되어 있으며 아직 변경 목록에 커밋하지 않은 보류중인 변경 사항을 임시로 저장합니다.
답변
Git과 함께 JetBrains IDE를 사용하는 경우 “선반 및 비 선반 작업 외에도 스 태싱 및 언스 트래 싱 작업이 지원됩니다. 이러한 기능은 공통점이 많으며, 주요 차이점은 패치 생성 및 적용 방식에 있습니다. 선반은 개별 파일 또는 묶음으로 작동 할 수 있습니다” Stash는 한 번에 변경된 전체 파일로만 작동 할 수 있습니다. 차이점에 대한 자세한 내용 은 다음과 같습니다 . “
답변
이전 답변 외에도 중요한 점이 있습니다.
shelve
JetBrains의 제품 기능 (예이며 WebStorm
, PhpStorm
, PyCharm
, 등). 선반 파일을 .idea/shelf
디렉토리에 넣습니다 .
stash
git
옵션 중 하나입니다 . 숨김 파일을 .git
디렉토리에 넣습니다 .
답변
다른 곳에서 변경 사항을 공유하지 않는 경우 변경 사항을 숨기지 않고 보류하는 것을 선호합니다.
스 태싱은 git 기능이며 특정 파일을 선택하거나 파일 내부의 변경 사항을 선택할 수있는 옵션을 제공하지 않습니다. 선반은 그렇게 할 수 있지만 이것은 git 기능이 아닌 IDE 관련 기능입니다.
당신이 볼 수 있듯이 내 선반에 포함 할 파일 / 라인을 지정하도록 선택할 수 있습니다. 숨김으로 할 수는 없습니다.
IDE에서 선반을 사용하면 패치 변경 사항이 .git 폴더에 저장되지 않으므로 패치의 이식성이 제한 될 수 있습니다.
유용한 링크 :