소개
개발자로 일하다 보면 중요한 파일을 실수로 삭제하고 커밋까지 해버리는 상황을 마주할 수 있습니다. 이번 챌린지는 이러한 시나리오를 바탕으로, Git 의 히스토리 조회 및 상태 복구 도구를 사용하여 유실된 파일을 찾아내고 프로젝트를 정상 상태로 복구하는 능력을 테스트합니다.
개발자로 일하다 보면 중요한 파일을 실수로 삭제하고 커밋까지 해버리는 상황을 마주할 수 있습니다. 이번 챌린지는 이러한 시나리오를 바탕으로, Git 의 히스토리 조회 및 상태 복구 도구를 사용하여 유실된 파일을 찾아내고 프로젝트를 정상 상태로 복구하는 능력을 테스트합니다.
챌린지를 시작하기 전, ~/project/important-project 디렉토리에 Git 저장소가 이미 초기화되어 있습니다. 이 저장소에는 두 개의 중요한 파일이 생성되었다가 실수로 삭제된 기록을 포함하여 여러 개의 커밋이 쌓여 있습니다. 상황은 다음과 같습니다.
README.md 파일을 추가하는 초기 커밋으로 시작되었습니다.important_algorithm.py와 crucial_data.txt라는 두 개의 핵심 파일이 추가되었습니다.important_algorithm.py와 crucial_data.txt가 실수로 삭제되었고, 이 삭제 작업이 커밋되었습니다.여러분의 과제는 저장소의 히스토리를 추적하여 삭제된 파일을 찾아 복구하고, 복구된 상태를 새롭게 커밋하는 것입니다.
important_algorithm.py와 crucial_data.txt가 삭제된 시점을 찾으세요.~/project/important-project 디렉토리에서 작업해야 합니다.important_algorithm.py와 crucial_data.txt 파일이 존재해야 합니다.챌린지를 성공적으로 마치고 프로젝트 디렉토리에서 ls를 실행하면 다음과 같이 나타나야 합니다.
$ ls ~/project/important-project
important_algorithm.py crucial_data.txt README.md
git status를 실행하면 작업 디렉토리가 깨끗한 상태여야 합니다.
$ git status
On branch master
nothing to commit, working tree clean
그리고 git log를 실행하면 최상단에 새로운 커밋이 보여야 합니다.
$ git log --oneline
8876d8b (HEAD -> master) Recover deleted files
9b3525c Update project status
5e6234c Oops, accidentally deleted important files
9de9506 Update algorithm TODO
01c36ae Add crucial data and algorithm
638a98d Initial commit
이 챌린지에서 여러분은 실수로 파일을 삭제하는 흔한 Git 시나리오를 해결해 보았습니다. 이를 통해 다음의 기술들을 익혔습니다.
이러한 기술은 유실된 커밋을 찾거나 실수를 바로잡고, 명확한 프로젝트 히스토리를 유지하는 데 매우 유용합니다. 이러한 도구들이 재앙으로부터 여러분을 구해줄 수는 있지만, 가장 좋은 방법은 항상 신중하게 작업하고 자주 상세한 커밋을 남겨 애초에 이런 상황을 방지하는 것임을 기억하세요.
이번 챌린지를 완수함으로써 여러분은 Git 의 가장 강력한 복구 도구들을 실전에서 다루어 보았습니다. 이 경험은 앞으로의 개발 경력에 큰 자산이 될 것입니다.