개발 팁
에러가 아닙니다 — git 초보를 당황시키는 메시지 3가지
· 약 1분#Git#GitHub#팁
목차
git을 처음 쓰면 정상 메시지를 에러로 오해하기 쉽습니다. 실제로는 “이미 잘 되어 있다”는 뜻인 경우가 많습니다.
1. “nothing to commit, working tree clean”
On branch main
nothing to commit, working tree clean뜻: 커밋할 변경 사항이 없다 = 이미 전부 커밋되어 있다.
에러가 아니라 오히려 좋은 상태입니다. git commit을 두 번 실행했거나, 이전에 이미 커밋을 마친 경우에 나옵니다. 정말 커밋됐는지 확인하려면:
git log --oneline -5내 커밋 메시지가 목록에 보이면 성공한 것입니다.
2. “Reinitialized existing Git repository”
Reinitialized existing Git repository in C:/my-project/.git/뜻: 이 폴더는 이미 git 저장소여서, 새로 만드는 대신 그대로 두었다.
git init을 이미 저장소인 폴더에서 다시 실행하면 나옵니다. 기존 커밋 기록은 전혀 손상되지 않으니 안심해도 됩니다. 일부 개발 도구(에디터, AI 코딩 도구)가 프로젝트 생성 시 git 저장소를 미리 만들어 두는 경우도 있어서, 내가 git init을 한 적이 없어도 이 메시지를 볼 수 있습니다.
3. 브랜치가 master인데 GitHub은 main을 쓴다?
로컬에서 git init으로 만든 저장소의 기본 브랜치는 환경에 따라 master일 수 있고, GitHub의 기본은 main입니다. 이름이 다르면 push 명령이 어긋나기 쉬우므로 push 전에 통일해 주는 것이 깔끔합니다.
git branch -M main-M은 브랜치 이름 강제 변경(rename)입니다. 커밋 기록은 그대로 유지됩니다. 아예 앞으로 만들 저장소의 기본값을 바꿔두려면:
git config --global init.defaultBranch main정리
| 메시지 | 진짜 의미 | 할 일 |
|---|---|---|
| nothing to commit | 이미 다 커밋됨 | git log로 확인만 |
| Reinitialized existing | 이미 저장소임 | 없음 (정상) |
| master 브랜치 | 이름 규칙 차이 | git branch -M main |