git stash가 브랜치마다 고유하지 않은 이유는 무엇입니까?

StackOverflow https://stackoverflow.com/questions/89487

  •  01-07-2019
  •  | 
  •  

문제

한 브랜치에서 다음 브랜치로 변경 사항을 이동할 수 있다고 생각하지만 이것이 체리 피킹의 목적입니다. 변경 사항을 커밋하지 않는 경우 변경 사항을 이동하면 안 될까요?

가끔 잘못된 브랜치에 잘못된 숨김을 적용한 적이 있어서 이 질문이 궁금했습니다.

도움이 되었습니까?

해결책

언급한 대로 "브랜치별 숨김"을 원한다면 실제로는 기존 브랜치에서 분기되는 새 브랜치를 원할 것입니다.

또한 이미 언급한 사실 외에도 스태시를 사용하면 작업 중인 브랜치로 끌어올 수 있다는 사실 외에도 다음을 수행할 수 있습니다. 스위치 모든 것을 커밋하기 전에 분기합니다.이는 체리 따기만큼 일반적인 의미의 체리 따기에 유용합니다. 당신의 작업 사본.

예를 들어, 기능 브랜치에서 작업하는 동안 해당 브랜치와 관련이 없는 코드에서 사소한 버그나 외관상의 불순물을 자주 발견하게 됩니다.글쎄요, 난 그냥 바로 고치겠습니다.커밋할 시간이 오면 관련 변경 사항을 선택적으로 커밋하지만 수정 사항이나 외관은 커밋하지 않습니다.대신에 이를 숨겨서 안정 시 사소한 수정 브랜치로 전환한 다음 숨김을 적용하고 각 사소한 수정 사항을 개별적으로 커밋할 수 있습니다.(문제의 변경 사항에 따라 다른 기능 분기로 전환하기 위해 그 중 일부를 다시 숨길 예정입니다. 저것들.)

이를 통해 작업할 때 프로그래밍 모드에 깊이 들어갈 수 있으며 코드의 적절한 라이브러리 관리에 대해 걱정할 필요가 없습니다.그런 다음 정신적 휴식을 취하면 다시 돌아가 변경 사항을 올바른 선반에 조심스럽게 분류할 수 있습니다.

스태시가 전역적이지 않다면 이러한 유형의 워크플로를 수행하기가 훨씬 더 어려울 것입니다.

다른 팁

Git 1.6부터 이제 다음을 사용하여 브랜치에 숨김을 적용할 수 있습니다.

git stash branch name_of_new_branch

Git이 새로운 브랜치를 생성하고 확인해보겠습니다!자세한 내용은 다음을 참조하세요.

  • 자식 책

  • info git-stash 옵션을 검색해 보세요=branch.

나는 당신이 다음을 사용하여 은닉물을 이동할 수 있다고 생각합니다.

git stash branch <branch | new_branch> [<stash>]

숨김 목록을 보려면 다음을 사용하세요.

git stash list

참조

브랜치에서 실행되는 "스태시"를 원한다면 이와 같은 작업을 수행하여 현재 브랜치의 새 브랜치에 변경 사항을 저장하세요.

git checkout -b new_stash
git commit -a -m "stashed changes"

숨김을 취소하려면

git reset HEAD^
git branch -d new_stash

git stash는 변경 사항을 더티 트리로 가져올 수 있기 때문에 특히 유용합니다.뛰어난 편집 내용이 있고 다음 작업을 수행하려는 경우

git pull

하지만 그렇게 할 수는 없습니다. 변경 사항을 저장하고 끌어온 다음 숨김을 적용할 수 있습니다.

git stash
git pull
git stash apply
git stash clear

이것이 도움이 되었기를 바랍니다!

git-stash는 아직 체크인되지 않은 변경 사항을 현재 체크아웃된 분기가 아닌 다른 분기로 이동하는 데 가장 유용합니다.

예를 들어, 나는 종종 버그 수정 브랜치에서 간단한 변경을 수행하고 있습니다.그런데 제가 작업 중인 변경 사항이 처음 생각했던 것보다 더 복잡하다는 사실을 알게 되었습니다.Git-stash는 해당 변경 사항 세트를 다른 분기로 이동하는 가장 쉬운 방법입니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top