2025. 8. 6. 16:30ㆍ대외활동/인공지능사관학교
[개발 실습 중 오류 해결 일지] Docker 재접속부터 Git 브랜치 충돌까지, 직접 겪은 3가지 오류와 해결법
개발 실습을 하다 보면 환경 설정이나 협업 과정에서 크고 작은 오류를 자주 마주하게 된다.
오류를 발견하고 해결하는 과정을 쌓아 가다 보면 어떤 부분에서 스스로가 약한지를 확인할 수 있고, 비슷한 오류에 대처 할 수 있다는 생각이 들었다.
그래서 개발 '오류 해결 일지'를 통해 개발 중에 실제로 겪었던 세 가지 오류 상황을 정리해 보았다.
특히 Git과 Docker 실습 중이라면 비슷한 경험을 했을 가능성이 높으니, 나의 해결 방법이 작은 도움이 되었으면 한다.

🧱 오류 1. Docker 컨테이너 종료 후 재접속 불가


▪ 상황
Docker 컨테이너를 실행하고 내부에서 작업하던 중, exit 명령어로 빠져나왔다. 이후 다시 접속하려 했지만 컨테이너가 종료된 상태라 어떻게 접근해야 할까?
▪ 원인
exit은 컨테이너 자체를 종료시키는 명령어다. 반면, Ctrl + P + Q는 백그라운드로 빠져나오는 방식이라 컨테이너가 계속 실행된다.
▪ 해결 방법
- 먼저 종료된 컨테이너 상태 확인
docker ps -a
- 컨테이너 재시작
docker start [컨테이너명 또는 ID]
- 실행 중인 컨테이너에 접속
docker attach [컨테이너명 또는 ID]



📄 오류 2. GitHub 원격 저장소의 특정 파일만 로컬로 가져오고 싶을 때
▪ 상황
협업 중에 팀원이 메인 브랜치(main)에만 수정한 README.md 파일이 있었고, 나는 dev 브랜치에서 해당 파일만 가져오고 싶었다. 전체 브랜치를 머지하고 싶지 않아 특정 파일만 가져오는 방법이 필요했다.
▪ 해결 방법
위 명령어를 통해 브랜치 간 병합 없이 특정 파일만 가져오는 방식으로 문제를 해결했다.
이후 git status에서 파일이 수정된 것으로 인식되므로 add → commit 절차를 진행하면 된다.
🔁 오류 3. Git 브랜치 전환 중 'invalid path' 오류 해결 (Windows 전용)
협업 중 GitHub에서 다른 사람이 만든 브랜치를 가져오려 했지만, Windows 환경에서는 생각보다 쉽게 안 되는 경우가 있다. 특히 브랜치를 체크아웃하려는 순간 "invalid path" 오류가 뜨면서 실패하는 경우가 바로 그 대표적인 사례다.

▪ 상황
git checkout -b model-2 origin/model-2
같은 원격 저장소에서 팀원이 만든 model-2 브랜치를 로컬에 가져오려고 다음 명령어를 실행했을 때 사진처럼 invalid path 오류가 발생했다. 잘 보면 predict_pythorch.py 파일명 위에 공백이 있는 걸 확인 할 수 있다.
▪ 원인
- 이 오류는 대부분 Windows 운영체제의 파일 시스템 제한으로 인해 발생한다.
- macOS나 Linux에서는 문제가 되지 않지만, Windows에서는 체크아웃 자체가 실패
- NTFS 파일 시스템에서는 허용되지 않는 경로/문자를 Git이 보호하려고 차단하는 것
- 예: :, *, ?, CON, PRN 같은 문자/이름
▪ 해결 방법
해결 방안 1: 문제 파일을 원격 브랜치에서 수정한 후 다시 Push (문제 발생시킨 사람이 처리)
문제 발생자 (보통 macOS/Linux 사용자)가 브랜치를 수정
- 문제 파일명 변경 또는 삭제
- 경로 문제 해결 후 다시 커밋
git mv "predict:pytorch.py" "predict_pytorch.py" # 예시
git commit -m "Fix invalid path for Windows"
git push origin model-2
---------------------
로컬
git fetch origin
git checkout -b model-2 origin/model-2
다만 이 방법은 협업자가 바로 수정해 주지 않으면 시간이 지연되는 단점이 발생한다.
해결 방안 2: 로컬 사용자가 Git 설정 변경으로 임시 해결 (Windows 사용자 쪽에서 처리)
내 폴더 파일로 들어가서 오른쪽 마우스를 눌러서 open git bash here로 들어간다.

접속하면 아래 사진 과같은 화면이 떠야 한다. 사진 처럼 명령어를 상황에 맞게 수정하여 입력하자

# 1. NTFS 보호 비활성화 (현재 로컬 repo 설정만 변경)
git config core.protectNTFS false
----------------------
# 2. 원격 브랜치 최신화
git fetch origin
----------------------
# 3. model-2 브랜치를 로컬에 생성하고 이동
git checkout -b model-2 origin/model-2
# 또는 버전이 Git 2.23 이상이라면 아래 명령어로도 대체 가능
git switch -c model-2 origin/model-2
다시 비주얼 코드에 접속해서 터미널에 입력하면 아래 사진처럼 잘 이동 되는 것을 확인 할 수 있다.

마무리
이러한 오류들은 누구나 겪을 수 있다.
중요한 건 당황하지 않고, 한 단계씩 상황을 분리해서 문제를 파악하고 해결하는 것이다.
실습 환경이 달라도 원리는 동일하니, 구조를 이해해두면 다음에 비슷한 문제가 발생했을 때 빠르게 대응할 수 있다.
이 글이 나처럼 Docker와 Git을 실습 중인 분들에게 작은 도움이 되기를 바란다.
혹시 일지에 적힌 내용보다 더 쉽게 해결 할 수 있는 방법이나 이어지는 다른 오류가 있다면,
댓글로 의견을 나눠 해결해 나갈 수 있으면 좋겠다 :)
'대외활동 > 인공지능사관학교' 카테고리의 다른 글
| [AI Crew][행사] 네이버 1784와 AWS 코리아 본사 방문기 – AI 사관학교에서 본 미래의 업무 환경 (1) | 2025.08.25 |
|---|---|
| [가상화 실습] Docker Swarm 환경 구축을 위한 VMware 버추얼 머신 생성 과정과 설정 방법 (3) | 2025.08.12 |
| [AI Crew][정보]AWS Skill Builder 무료 vs 유료 차이부터 활용법까지 한눈에 정리/인공지능사관학교6기/서포터즈 (6) | 2025.08.06 |
| [AI Crew][정보]프로젝트에서 반드시 알아야 할 Git과 GitHub 사용법 가이드 (4) | 2025.08.05 |
| [AI Crew][정보]인공지능사관학교 오프라인 공간 소개 및 실습 환경 정리 7~8월 개발 도구 설치 및 활용 경험 (3) | 2025.08.05 |