트러블슈팅

💻 Git 브랜치 작업하면서 겪은 트러블슈팅 정리

chungmani 2026. 6. 1. 13:26

 

이번 스파르타 스프링 캠프 과제를 진행하면서 Git 브랜치 기반 협업 흐름을 직접 연습해봤다.
단순히 기능을 만드는 게 아니라, 브랜치 → PR → merge 흐름을 익히는 게 목표였다.

그 과정에서 생각보다 헷갈리는 포인트들이 몇 가지 있어서 정리해본다.


 1. git add . 했더니 원하지 않는 파일까지 같이 올라간 문제

 

처음에는 about 페이지만 커밋하려고 했는데,
갑자기 skills, goals 파일까지 함께 스테이징되어 있었다.

처음엔 “왜 다 올라가지?” 하고 당황했는데 이유는 간단했다.

git add .
 

이 명령어는 현재 위치 기준으로 변경된 모든 파일을 전부 스테이징하는 명령이었다.

✔ 해결 방법

특정 파일만 올리고 싶다면 파일을 직접 지정해야 한다.

git add feature/about.md
 

이미 올라간 파일은 아래 명령으로 스테이징을 취소할 수 있다.

git restore --staged feature/skills.md
git restore --staged feature/goals.md
 

2. 브랜치를 바꾸니까 파일이 사라진 것처럼 보인 현상

feature/about 브랜치에서 작업을 끝내고 feature/skills 브랜치로 이동했는데,
about.md 파일이 갑자기 안 보였다.

처음에는 “내 파일 어디 갔지?” 싶었지만 알고 보니 Git 구조 문제였다.

✔ 원인

Git 브랜치는 각각 독립된 작업 공간이다.
즉 브랜치를 바꾸면 파일 상태도 같이 바뀐다.

  • feature/about → about.md 존재
  • feature/skills → skills.md만 존재

그래서 파일이 사라진 게 아니라
“그 브랜치에 없는 것”이었다.


3. touch로 파일 만들 때 경로 에러 발생

 

처음에 이런 명령을 실행했다.

touch feature/about.md
 

그런데 에러가 발생했다.

No such file or directory
 

✔ 원인

feature 폴더가 없는 상태에서 하위 경로 파일을 만들려고 했던 것.

✔ 해결

먼저 폴더를 만들고 파일을 생성해야 했다.

mkdir feature
touch feature/about.md
 

이번 경험으로 느낀 점

  • 브랜치는 “파일 폴더”가 아니라 “독립된 작업 공간”이다
  • 파일이 사라진 것처럼 보일 때는 브랜치 상태를 먼저 확인해야 한다
  • 경로와 현재 위치 개념이 생각보다 중요하다

한 줄 정리

Git은 파일을 관리하는 도구가 아니라 “브랜치 단위로 시간을 나눠서 관리하는 시스템”이다