Magit에서 '스 태쉬'와 '스냅 샷'의 차이점은 무엇입니까?


17

Magit 사용자 설명서는 소문자 명령을 다른 이름으로 저장 :이 개 "보관 한"명령 세트를 포함 숨겨 놓은 다른 이름으로 저장하고, 대문자 명령 스냅 샷을 . Google과 Stack Overflow 및 git-stash(1)매뉴얼 페이지를 참조한 후에도 여전히 차이점이 무엇인지 모르겠습니다.

차이점이 뭐야?


1
내 이해는 stash변경 사항을 재설정 (실행 취소)하고 변경 snapshot사항을 작업 공간에 남겨 두는 것입니다 (밀어 넣기 전에 커밋을 다시 정렬하려는 경우 유용 할 수 있음).
wvxvw

답변:


24

"스 태쉬"및 "스냅 샷"변형은 모두 동일한 숨김 개체를 만듭니다. 차이점은 스냅 샷을 작성할 때 작업 트리 및 / 또는 색인의 파일에서 숨김 변경 사항이 제거 되지 않는다는 것 입니다. (좋은 시간을 보내고있는 친구의 스냅 샷을 찍을 때처럼 사라지지 않습니다. ;-)

이것은 일종의 백업 메커니즘으로 사용됩니다. 복잡한 리팩토링을 수행 중이고 방금 테스트했지만 수정 된 코드가 여전히 작동하지만 아직 완료되지 않았다고 가정합니다. 이제 스냅 샷을 작성하기에 좋은시기이므로 나중에 엉망으로 만들면 다시 돌아 가야합니다.

물론 작업중인 지점에서 바로 "wip"커밋을 만들어 동일한 작업을 수행 할 수 있습니다. 그것은 보통 내가하는 일입니다.

또한 Wip 모드 를 활성화하여 진행중인 작업 기록 프로세스를 자동화 할 수도 있습니다 . 이러한 모드를 안전망으로 활성화했지만 현재 분기에서 직접 wip 커밋을 만들거나 스냅 샷을 만듭니다. 그것들은 wip ref보다 작업하기가 더 쉽습니다.

Magit은 Elisp로 작성된 자체 숨김 구현과 함께 제공됩니다. 스냅 샷 변형과 작업 트리 전용 및 인덱스 전용 숨김 변형을 구현하는 데 필요했습니다. Git은 이러한 변형을 제공하지 않습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.