Git에서 변경 사항을 숨기는 방법

0
261

파란색 배경에 Git 로고

다른 브랜치로 전환해야 하지만 현재 브랜치에서 변경한 사항을 커밋할 준비가 되지 않았습니까? 변경 사항을 숨기고 나중에 다시 돌아올 수 있습니다. GitHub를 사용하든 다른 호스팅 서비스를 사용하든 Git에서 가능합니다.

변경 사항을 숨기는 이유는 무엇입니까?

변경 사항을 숨기는 것은 작업 브랜치에 커밋하지 않고 현재 작업을 따라갈 수 있는 좋은 방법입니다. 이를 통해 변경 사항을 푸시하지 않고 여러 분기 간에 작업할 수 있습니다.

변경 사항을 숨겨야 할 수 있는 몇 가지 경우가 있습니다. 예를 들어 분기 A에서 작업하고 있다고 가정해 보겠습니다. 그러나 분기 B의 코드에는 즉각적인 주의가 필요한 심각한 버그가 있습니다. 버그를 수정하려면 브랜치 B로 전환해야 하지만 브랜치 A에서 하던 작업을 커밋할 준비가 되지 않았습니다.

git stash 덕분에 변경 사항을 푸시하지 않고 브랜치 A에 숨길 수 있고, 브랜치 B의 버그를 수정하고 전환한 다음, 브랜치 A로 다시 전환하여 중단한 부분부터 다시 시작할 수 있습니다.

변경 사항을 숨기는 방법

간단한 명령을 실행하여 변경 사항을 숨길 수 있습니다. 하지만 그렇게 하기 전에 다른 명령을 실행하여 정확히 무엇을 숨길 것인지 확인할 수 있습니다. 작업 분기에서 다음 명령을 실행합니다.

git status

git status 명령을 실행합니다.

이렇게 하면 분기에서 수행한 단계적 변경 사항과 단계적 변경 사항이 모두 표시됩니다. 우리의 경우 “test.md” 파일을 수정했습니다. git stash는 단계적 변경 사항과 단계적 변경 사항을 모두 숨길 것입니다.

숨길 항목을 검토했으므로 이제 이 명령을 실행하여 변경 사항을 숨깁니다.

git stash

git stash 명령을 실행합니다.

실행되면 변경 사항이 에 저장되었다는 메시지를 받게 됩니다. 이제 분기가 변경하기 전과 같을 것이며 이제 새 분기로 전환하는 것이 안전합니다.

숨겨진 변경 사항 보기

여러 개의 은닉을 저장한 경우 검색을 시도하기 전에 은닉 목록을 보고 싶을 수 있습니다. 은닉 목록을 볼 때 검색하고 계속 작업하려는 은닉의 이름을 기록해 두십시오.

터미널에서 다음 명령을 실행합니다.

git stash list

git stash list 명령을 실행합니다.

그러면 숨김 목록이 반환됩니다. 위의 예에서 우리의 숨김 이름은 stash@{0}. 중괄호 안의 숫자는 인덱스입니다. 같은 지점에 여러 개의 은닉이 있는 경우 번호가 다릅니다.

다른 번호를 가진 은닉의 예.

숨김의 세부 정보를 보려면 다음을 실행하십시오.

git stash show

git stash show 명령을 실행합니다.

당신은 또한 실행할 수 있습니다 git stash show -p diff 형식으로 결과를 봅니다.

숨겨진 변경 사항 검색

중단한 부분부터 다시 시작할 준비가 되면 숨겨진 변경 사항을 검색해야 합니다. 이를 수행할 수 있는 두 가지 다른 방법이 있습니다. 하나의 명령은 작업 브랜치에 복사하는 동안 변경 사항의 복사본을 숨김에 보관합니다. 다른 하나는 모든 것을 작업 브랜치로 복사하지만 숨김에서 모든 것을 제거합니다.

변경 사항의 복사본을 stash에 보관하고 작업 브랜치로 가져오려면 다음을 실행하세요.

git stash apply

git stash apply 명령을 실행합니다.

변경 사항을 작업 브랜치로 가져오지만 숨김 복사본을 삭제하려면 다음을 실행합니다.

git stash pop

git stash pop 명령을 실행합니다.

단일 분기에 여러 개의 숨김이 있는 경우 명령 끝에 숨김 이름을 추가하기만 하면 됩니다.

이제 이전 변경 사항으로 계속 작업할 수 있습니다. 분기에 필요한 모든 변경 사항을 적용하고 기본 분기에 병합했으면 저장소를 깨끗하게 유지하기 위해 분기를 삭제하는 것을 잊지 마십시오!

관련된: GitHub에서 분기를 삭제하는 방법