IntelliJ IDEA의 Git Stash와 Shelve

John Wachira 2023년1월30일
  1. Git의 선반 변경 사항
  2. Git의 변경 취소
  3. Git의 숨김 변경 사항
  4. Git에서 Stash 적용
IntelliJ IDEA의 Git Stash와 Shelve

이 기사에서는 IntelliJ IDEA로 작업하는 동안 git stashgit shelve를 구분합니다. 우리가 작업하는 동안 여러 작업 사이를 전환하고 나중에 다시 돌아가고 싶을 때 두 가지가 클러치에 들어옵니다.

IntelliJ IDEA를 사용하면 진행 상황을 잃지 않고 다양한 기능을 작업할 수 있습니다. 우리는 은닉하거나 선반에 둘 수 있습니다.

둘은 공통점이 많다. 큰 차이점은 패치를 생성하고 적용할 때 발생합니다.

숨길 때 Git은 패치를 생성하고 IntelliJ IDEA 또는 다른 IDE를 사용하여 패치를 적용할 수 있습니다. 반면에 보류할 때 IntelliJ IDEA 내에서 패치가 생성되고 적용됩니다.

stash는 커밋되지 않은 모든 변경 사항을 저장하는 반면, shelving은 보관할 항목을 선택할 수 있도록 합니다.

Git의 선반 변경 사항

변경 사항을 보류할 때 다른 작업으로 전환해야 하는 경우 나중에 적용할 수 있도록 커밋되지 않은 변경 사항을 임시로 저장합니다. IntelliJ IDEA를 사용하면 별도의 파일이나 모든 변경 사항을 보류할 수 있습니다.

생성된 패치는 필요한 만큼 적용할 수 있습니다. 다음은 일반적인 워크플로입니다.

  1. IDE에서 커밋 도구로 이동합니다. 여기에서 보관하려는 변경 목록 또는 파일을 마우스 오른쪽 버튼으로 클릭하고 변경 사항 보관을 선택할 수 있습니다.

    자식 선반 변경

  1. 다음으로 목록을 검토하고 Commit Message에 선반 이름을 지정한 다음 Shelve Changes를 클릭하여 선반을 저장합니다.

대안은 Silent 옵션을 사용하는 것입니다. IDE에는 대화 상자를 표시하지 않고 보류할 수 있는 Shelve Silently 옵션이 있습니다.

Git의 변경 취소

변경 사항을 취소하려면 다음 단계를 따르세요.

  1. IDE의 Shelf 탭으로 이동하여 파일을 선택하거나 선반을 해제해야 하는 목록을 변경합니다.

  2. 메뉴에서 Unshelve를 누르고 보류된 변경 사항을 복원할 목록을 선택합니다. 기존 변경 목록으로 복원하지 않으려는 경우 새 목록을 만들 수도 있습니다.

    새 목록을 활성으로 표시하는 것을 잊지 마십시오.

  3. 또는 Unshelve Silently 아이콘을 사용하여 변경 사항을 활성 변경 사항 목록으로 이동할 수 있습니다.

Git의 숨김 변경 사항

stash는 단순히 현재 작업 디렉토리와 HEAD 커밋 간의 차이에 대한 기록입니다. 필요할 때마다 분기 패치를 적용할 수 있습니다.

다음 사항에 유의하십시오.

  1. 은닉을 적용하는 동안 충돌이 발생할 수 있습니다.
  2. 커밋되지 않은 변경 사항이 포함된 작업 복사본에는 숨김을 적용할 수 없습니다.

IntelliJ IDEA로 변경 사항을 숨기려면 다음 단계를 따르십시오.

  1. Git > 커밋되지 않은 변경 사항 > 스태시 변경 사항으로 이동합니다.
  2. 올바른 디렉토리를 선택하고 올바른 분기로 전환하십시오.
  3. Message 필드에 stash를 간략하게 설명하는 것이 항상 좋습니다.
  4. 스태시 생성을 클릭합니다.

Git에서 Stash 적용

숨김을 적용하려면 다음 단계를 따르세요.

  • Git > Uncommitted Changes > Unstash Changes로 이동합니다.
  • 올바른 디렉토리를 선택하고 올바른 분기로 전환하십시오.
  • 숨김을 선택하고 보기를 클릭하여 패치가 적용된 후 변경되는 파일을 확인하고 Pop Stash를 선택하여 적용된 후 패치를 삭제합니다.
  • 새 분기로 필드에 분기 이름을 입력하여 새 분기를 만들고 패치를 적용할 수 있습니다.
작가: John Wachira
John Wachira avatar John Wachira avatar

John is a Git and PowerShell geek. He uses his expertise in the version control system to help businesses manage their source code. According to him, Shell scripting is the number one choice for automating the management of systems.

LinkedIn

관련 문장 - Git Stash