나는 StackOverflow가 의견 기반 답변을위한 곳이 아니라는 것을 알고 있지만 실제로는 숨김으로 변경 사항을 보류해야 할 때에 대해 좋은 의견을 가지고 있습니다.
실험적 변경 사항을 커밋하고 싶지 않습니다.
작업 영역 / 작업 트리를 변경할 때 병합, 푸시, 가져 오기 또는 가져 오기와 같은 분기 기반 작업을 수행해야하는 경우 깨끗한 커밋 지점에 있어야합니다. 따라서 작업 영역 변경 사항이있는 경우이를 커밋해야합니다. 하지만 그들을 저지르고 싶지 않다면 어떨까요? 실험적이라면 어떨까요? 커밋 기록에 원하지 않는 것이 있습니까? GitHub로 푸시 할 때 다른 사람이 보지 않기를 원하는 것이 있습니까?
하드 리셋으로 로컬 변경 사항을 잃고 싶지 않습니다.
이 경우 하드 리셋을 수행 할 수 있습니다. 그러나 하드 리셋을 수행하면 모든 로컬 작업 트리를 잃게됩니다. 변경 사항이 마지막 커밋 당시의 위치로 덮어 쓰여지고 모든 변경 사항 되므로 모든 변경 사항을 잃게됩니다.
따라서 '언제 숨겨야 하는가'에 대한 대답은 동기화 된 작업 트리 / 인덱스 / 커밋을 사용하여 깨끗한 커밋 지점으로 돌아 가야하지만 로컬 변경 사항을 잃고 싶지 않을 때입니다. 과정. 변경 사항을 은닉처에 보관하면 괜찮습니다.
그리고 일단 당신이 당신의 은닉을 완료 한 다음 병합, 풀, 푸시를 완료하면 팝을 숨기거나 적용 할 수 있습니다. 시작했던 곳으로 돌아갑니다.
Git 숨김 및 GitHub
GitHub는 지속적으로 새로운 기능을 추가하고 있지만 현재로서는 거기에 은닉처를 저장할 수있는 방법이 있습니다. 다시 말하지만, 숨김의 아이디어는 로컬 및 비공개라는 것입니다. 당신의 워크 스테이션에 물리적으로 접근하지 않고서는 아무도 당신의 보관함을 들여다 볼 수 없습니다. git reflog가 비공개이고 git log가 공개되는 것과 같은 방식입니다. GitHub로 푸시 된 경우 비공개가 아닐 것입니다.
한 가지 트릭은 작업 공간의 차이를 확인하고 git 저장소에서 차이를 확인한 다음 커밋 한 다음 푸시하는 것입니다. 그런 다음 집에서 당겨서 차이를 확인한 다음 긴장을 풀 수 있습니다. 그러나 그것은 그 결과를 얻기위한 꽤 지저분한 방법입니다.
git diff > git-dif-file.diff