Git - Stash 연산: 초보자 가이드

안녕하세요, 미래의 Git 마스터 여러분! 오늘 우리는 Git의 가장 유용한 기능 중 하나인 stash 연산에 대해 배우겠습니다. 여러분의 친절한 이웃 컴퓨터 선생님이자, 냉장고에서 예상치 못한 피자를 발견했을 때와 같은 열정으로 이 주제를 안내해 드리겠습니다. 시작해 보겠습니다!

Git - Stash Operation

Git Stash는 무엇인가요?

그림을 그리는 중에 갑자기 긴급하게 다른 것을 그려야 한다고 가정해 봅시다. 현재 작업을 망치고 싶지 않지만, 지금 바로 완료할 수 없습니다. 이럴 때 어떻게 하시겠습니까? 예술의 세계에서는 캔버스를 덮어놓고 옆에 두는 것입니다. Git에서는 'stash' 명령어를 사용합니다!

Git stash는 당신의 미완성 작업을 임시로 보관할 수 있는 마법의 선반입니다. 이를 통해 빠르게 문맥을 전환할 수 있도록 합니다.

Git Stash를 사용하는 이유는 무엇인가요?

  1. 반쪽짜리 작업을 커밋하지 않고 브랜치를 전환할 수 있습니다.
  2. 하나의 브랜치에서 다른 브랜치로 변경 사항을 적용할 수 있습니다.
  3. 변경 사항을 빠르게 숨기고 변경 사항을 가져올 수 있습니다.

기본 Stash 연산

가장 일반적인 stash 연산을 살펴보겠습니다.

1. 변경 사항을 Stash에 저장하기

현재 변경 사항을 stash에 저장하려면 다음 명령어를 실행하세요:

git stash

이 명령어는 모든 커밋되지 않은 변경 사항( stagged 및 unstaged 모두)을 stash 스택에 저장하고, 작업 디렉토리를 깨끗하게 만듭니다.

2. Stash 목록 보기

stash에 무엇이 들어 있는지 보려면 다음 명령어를 사용하세요:

git stash list

이 명령어는 다음과 같은 모든 stash 목록을 보여줍니다:

stash@{0}: WIP on main: 1234567 마지막 커밋 메시지
stash@{1}: WIP on feature: 7654321 예전 커밋 메시지

3. Stash 적용하기

stash에 저장된 변경 사항을 계속 작업하려면 다음 명령어를 사용하세요:

git stash apply

이 명령어는 가장 최근의 stash를 적용합니다. 특정 stash를 적용하려면 다음과 같이 합니다:

git stash apply stash@{2}

4. Stash 제거하기

stash를 적용한 후에도 여전히 stash 목록에 남아 있습니다. 제거하려면 다음 명령어를 사용하세요:

git stash drop

또는 특정 stash를 제거하려면:

git stash drop stash@{2}

5. 적용하고 제거하는 단계

stash를 적용하고 즉시 stash 목록에서 제거하려면 다음 명령어를 사용하세요:

git stash pop

이는 git stash apply에 이어 git stash drop와 동일합니다.

고급 Stash 기술

기본 사항을 다루고 나면, 더 고급 기술을 살펴보겠습니다. 걱정하지 마세요, 단계별로 설명해 드리겠습니다!

1. 추적되지 않은 파일을 Stash에 저장하기

기본적으로 git stash는 추적된 파일만 stash합니다. 추적되지 않은 파일을 포함하려면 다음 명령어를 사용하세요:

git stash -u

2. Stash에서 브랜치 생성하기

때로는 stash된 변경 사항을 새로운 브랜치에서 작업하고 싶을 수 있습니다. 이를 위해 다음 명령어를 사용하세요:

git stash branch new-branch-name stash@{1}

이 명령어는 새로운 브랜치를 생성하고 체크아웃한 후, stash를 적용하고 제거합니다.

3. 특정 파일을 Stash에 저장하기

특정 파일만 stash하려면 다음 명령어를 사용하세요:

git stash push -m "Your stash message" file1.txt file2.txt

4. Stash의 diff 보기

stash의 diff를 보려면 다음 명령어를 사용하세요:

git stash show -p stash@{0}

-p 플래그는 요약이 아닌 전체 diff를 보여줍니다.

Git Stash 사용에 대한 좋은 관행

  1. stash에 이름을 지정하세요: git stash save "Your message"를 사용하여 stash에 설명을 추가하세요.
  2. stash를 오래 보관하지 마세요: stash는 임시적인 것입니다. 생성한 후 빨리 적용하거나 제거하세요.
  3. stash를 적용할 때 조심하세요: stash를 생성한 후 변경 사항이 있으면 충돌이 발생할 수 있습니다.
  4. 문맥 전환 시 stash를 사용하세요: stash는 반쪽짜리 작업을 커밋하지 않고 빠르게 다른 작업으로 전환하는 데 완벽합니다.

일반 Stash 명령어 표

다음은 가장 일반적인 stash 명령어 표입니다:

명령어 설명
git stash 변경 사항 stash
git stash list 모든 stash 목록
git stash apply 가장 최근의 stash 적용
git stash drop 가장 최근의 stash 제거
git stash pop 적용하고 제거
git stash clear 모든 stash 제거
git stash show 가장 최근의 stash 변경 사항 보기
git stash branch <name> 새로운 브랜치에서 stash 생성

결론

이제 여러분은 Git stash 전문가가 되었습니다! 기억하세요, 모든 도구와 마찬가지로, stash는 사용할수록 더 강력해집니다. 실험을 두려워하지 마세요!

이 글을 마무리하면서, 한 학생이 말한 것을 떠올립니다. "Git stash는 제 프로젝트를... 그리고 아마 제 정신도 구원했습니다!" Git은 단순한 버전 관리 시스템이 아닙니다. 개발자들에게는 생명을 구하는 도구입니다.

계속 stash를 사용하고, 계속 배우며, 가장 중요한 것은 계속 코딩하세요! 다음 번에 다시 뵙겠습니다. 친절한 이웃 컴퓨터 선생님이자, 행복한 Git-ing을 기원합니다!

Credits: Image by storyset