시간 여행을 하는 개발자

GitBeginner
지금 연습하기

소개

당신이 타임머신 프로젝트를 진행 중인 개발자라고 상상해 보세요. 갑자기 미래의 당신이 나타나 현재 코드베이스에 치명적인 버그가 있다고 경고합니다! 현재 진행 중인 작업을 신속하게 저장하고, 버그를 수정한 다음, 다시 원래 작업으로 돌아가야 합니다. 이 챌린지는 긴박한 시간 왜곡 시나리오 속에서 당신의 Git stash 활용 능력을 테스트합니다!

임시 저장, 수정 및 재개

초기 상태

현재 ~/project 디렉토리에 있습니다. time-machine 디렉토리는 다음과 같은 파일들을 포함하는 새로운 Git 저장소입니다:

  • main-console.txt (내용: "Bug: Temporal Flux Unstable")
  • flux-capacitor.txt (내용: "Work in progress")
  • new-feature.txt (내용: "Untracked feature")

git status 명령어를 사용하여 저장소의 현재 상태를 확인할 수 있습니다.

과제

  1. 추적되지 않은 파일 (untracked files) 을 포함하여 현재의 변경 사항을 임시 저장 (stash) 하세요.
  2. master 브랜치에서 main-console.txt의 내용을 "Fixed: Temporal Flux Stabilized"로 업데이트하여 "치명적인 버그"를 수정하세요.
  3. 임시 저장된 변경 사항으로부터 future-upgrades라는 이름의 새 브랜치를 생성하세요.
  4. master 브랜치의 버그 수정 내용이 future-upgrades 브랜치에도 반영되어 있는지 확인하세요.

요구 사항

  • 모든 작업은 ~/project/time-machine 디렉토리 내에서 수행되어야 합니다.
  • 기존의 변경 사항 (추적 중인 파일과 추적되지 않은 파일 모두) 이 새 브랜치에 존재해야 합니다.
  • main-console.txt의 버그 수정 사항은 masterfuture-upgrades 브랜치 모두에 존재해야 합니다.

예시

챌린지를 완료한 후 저장소 상태는 다음과 같아야 합니다:

master 브랜치:

main-console.txt (content: "Fixed: Temporal Flux Stabilized")

future-upgrades 브랜치:

main-console.txt (content: "Fixed: Temporal Flux Stabilized")  ## master의 버그 수정 사항 포함
flux-capacitor.txt (content: "Work in progress")              ## 기존에 추적 중이던 변경 사항
new-feature.txt (content: "Untracked feature")                ## 기존에 추적되지 않았던 파일

참고: 이 상태를 만들려면 future-upgrades 브랜치에서 진행 중이던 작업을 보존하면서 두 브랜치 모두에 버그 수정 사항이 포함되도록 해야 합니다.

✨ 솔루션 확인 및 연습

요약

이 챌린지에서는 가상의 비상 상황을 통해 Git stash 를 사용하는 연습을 했습니다. 진행 중인 작업 (추적되지 않은 파일 포함) 을 신속하게 저장하고, 컨텍스트를 전환하여 중요한 문제를 해결한 뒤, 임시 저장된 변경 사항으로 새 브랜치를 만드는 방법을 배웠습니다. 이러한 기술은 예상치 못한 작업이 발생했을 때 업무 흐름을 매끄럽게 유지하고, 작업 내용을 잃어버리거나 집중력을 흐트러뜨리지 않으면서 여러 책임을 동시에 관리하는 데 매우 중요합니다.

Git stash 는 변경 사항을 임시로 보관하는 강력한 도구이지만, 단기 보관용으로 사용하는 것이 가장 좋습니다. 장기적인 작업이나 규모가 큰 기능을 개발할 때는 전용 브랜치를 생성하는 것이 더 나은 접근 방식인 경우가 많습니다. 이러한 기술을 계속 연습하면 앞으로 마주하게 될 어떤 복잡한 개발 시나리오도 능숙하게 처리할 수 있을 것입니다!