반응형
개요
git 사용 과정에서 다음과 같은 경고 메시지가 발생하였습니다.
warning: adding embedded git repository: frontend
hint: You've added another git repository inside your current repository.
hint: Clones of the outer repository will not contain the contents of
hint: the embedded repository and will not know how to obtain it.
hint: If you meant to add a submodule, use:
hint:
hint: git submodule add <url> frontend
hint:
hint: If you added this path by mistake, you can remove it from the
hint: index with:
hint:
hint: git rm --cached frontend
hint:
hint: See "git help submodule" for more information.
작업하던 디렉토리의 대략적인 구조는 다음과 같았습니다.
/root-directory
├── .git/
├── frontend/
├── backend/
├── .gitignore
└── README.md
여기서 backend 디렉토리는 정상적으로 push가 이루어지나,
frontend에 해당하는 디렉토리의 push 과정에서 위와 같은 문제가 발생하였습니다.
원인 / 해결 방법
frontend 디렉토리 내에도 .git 디렉토리가 포함되어 있는 것이 문제의 원인이었습니다.
/root-directory
├── .git/
├── frontend/
│ ├── .git/
├── backend/
├── .gitignore
└── README.md
즉, 루트 디렉토리와 하위 디렉토리에 모두 .git이 포함되어 있으니
push 과정에서 버전 관리에 혼란이 생길 수 있어 발생한 경고였습니다.
여기서는 하위 디렉토리를 별도의 레포지토리로 관리하지 않고,
하나의 디렉토리로 전체 코드를 관리할 예정이었기에
하위 디렉토리 내 .git 디렉토리를 삭제하고 push를 하니 문제가 해결되었습니다.
만일, 하위 디렉토리를 별도의 submodule로 관리하는 것을 원하실 경우라면
git submodule add <레포지터리 url> <디렉토리 이름> 명령어를 사용하시면 됩니다.
이 글이 문제 해결 과정에서 도움이 되셨기를 기원하겠습니다. 감사합니다.