Git Stash 명령을 사용하는 방법
Git Stash에 대해 알아야 할 10가지 팁
집중을 요하는 복잡한 기능에 대해 작업 중이고 상사가 긴급한 문제를 해결하도록 지시했으며 해당 기능에 대한 최종 변경 사항이 다른 브랜치에서 구현되었음을 방금 알아차렸다고 가정합니다.
그런 경우 가장 먼저 떠오르는 생각은 구현된 기능이 있는 지점에 체크아웃하는 것입니다.
스테이지되지 않은 수정에서 스테이지된 수정으로 다른 분기로 체크아웃하려고 하면 다음 문제가 발생할 수 있습니다.
What happened in the above screenshot ?
이 경우 현재 브랜치의 staged 및 unstaged 수정 사항이 전환한 브랜치에 적용됩니다.
다음으로, Git은 먼저 변경 사항을 커밋하지 않고 브랜치를 교체할 수 있는 것은 아닙니다. 이는 현재 브랜치에서 수정한 내용이 손실되거나 대상 브랜치와 충돌할 가능성이 있기 때문입니다. 어떤 이유로든 먼저 수정 사항을 커밋하거나 보관하지 않고는 분기를 이동할 수 없습니다.
앞서 언급한 문제를 해결하려면 작업 환경에 수정 사항을 숨겨야 합니다. 스태싱이란 나중에 사용할 수 있도록 숨겨진 장소(스태시 스택)에 변경 사항을 안전하게 저장하는 것을 의미합니다.
변경 사항을 숨기는 방법은 무엇입니까?
Git stash
커밋되지 않은 변경 사항을 로컬에 저장하여 변경 사항을 적용하고 분기를 전환하고 기타 Git 작업을 수행할 수 있습니다.`git stash`
또는
git stash save
추적되지 않은 파일을 숨기는 방법은 무엇입니까?
추가 옵션을 사용하여 git stash가 추적되지 않고 무시된 파일을 처리하도록 할 수 있습니다.
`git stash -u`
또는
`git stash --include-untracked`
`git stash -a`
또는
`git stash --all`
숨김을 나열하는 방법?
git stash list
명령으로 스태시를 볼 수 있습니다. 스태시는 후입선출(LIFO) 접근 방식으로 저장됩니다.숨김을 적용하는 방법?
다음 명령을 실행하여 최신 stash의 기록된 변경 사항을 현재 작업 브랜치에 적용하고 stash 스택에서 해당 stash를 삭제합니다.
`git stash pop`
스택에서 삭제하지 않고 현재 작업 분기에 가장 최근 숨김을 적용할 수도 있습니다. 이를 수행하려면 다음 명령을 사용하십시오.
`git stash apply`
식별자를 마지막 인수로 전달하여 팝하거나 적용할 숨김을 선택할 수 있습니다.
`git stash pop stash@{1}`
또는
`git stash apply stash@{1} `
숨김을 삭제하는 방법?
더 이상 필요하지 않은 보관함을 제거하는 것이 좋습니다. 다음 명령을 사용하여 이 작업을 수동으로 수행해야 합니다.
`git stash clear`
`git stash drop <stash_id>`
숨김에서 분기를 만드는 방법은 무엇입니까?
최신 보관함에서 새 브랜치를 생성할 수 있습니다. 다음 명령을 사용하십시오.
git stash branch <branch_name>
이전 숨김에서 분기를 생성하려는 경우 숨김 참조를 사용하여 가능합니다.
git stash branch <branch_name> stash@{revision}
숨김에 설명을 추가하는 방법은 무엇입니까?
기본적으로 숨김은 숨김을 만든 분기 및 커밋 위에 WIP로 표시됩니다. 그러나 이 제한된 양의 정보는 보관함을 여러 개 가지고 있을 때 내용을 기억하거나 개별적으로 확인하기 어렵기 때문에 도움이 되지 않습니다. 숨김에 설명을 추가하려면
git stash save <description>
명령을 사용할 수 있습니다.git stash save "remove semi-colon from schema"
Saved working directory and index state On master: remove semi-colon from schema
이제 사용 가능한 모든 숨김을 나열하면 다음과 유사한 내용이 표시됩니다.
git stash list
stash@{0}: On master: remove semi-colon from schema
stash@{1}: WIP on master: d7435644 Feat: configure graphql endpoint
숨김 diff를 확인하는 방법은 무엇입니까?
때로는 stash diff를 확인해야 할 수도 있습니다. stash diff를 보려면 아래 명령을 사용하십시오.
git stash show <stash_id>
git stash show stash@{1}
console/console-init/ui/.graphqlrc.yml | 4 +-
console/console-init/ui/generated-frontend.ts | 742 +++++++++---------
console/console-init/ui/package.json | 2 +-
--patch 또는 -p 플래그를 전달하여 더 자세한 diff를 얻을 수도 있습니다.
git stash show stash@{0} --patch
결론
이 기사가 유용하고 새로운 것을 배웠기를 바랍니다. 숨김 사용에 대한 유용한 옵션을 놓친 경우 의견에 알려주십시오. 빠른 참조는 git stash command cheat sheet을 참조하십시오.
Reference
이 문제에 관하여(Git Stash 명령을 사용하는 방법), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/mwafrika/how-to-use-git-stash-command-22bk텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)