Git 하위폴더의 git 지우기

기존에 있는 프로젝터를 다운받고 최상위 폴더에서 내가 git을 생성했을 때 GitLab등의 버전 관리 페이지에서 다음과 같은 표시와 함께 폴더에 접근이 불가한 경우가 있습니다.

GitLab에 @표시

여기서 @표시가 된것은 common폴더가 이미 git으로 관리되고 있기 때문입니다.

보통은 이와 같이 하위 폴더에서 또다른 git으로 버전 관리를 하는 것을 submodule이라고 합니다.

하지만 지금 설명하는 것은 정상적으로 submodule을 추가한 것이 아닌 기존 하위폴더들에서 git으로 버전관리를 하고 있을 때 상위 폴더에 git을 새로 생성되었을 때를 설명합니다.

이때 기존 하위폴더의 git을 살리는 것도 한 방법이지만 따로 버전관리를 하고 싶지 않을때가 있습니다.

이럴때 다음과 같은 방법으로 하위 폴더의 git을 지우고 나의 버전 관리 안에 포함할 수 있습니다.

다만 이 방법은 기존의 하위폴더의 git의 이력을 포함하지 못합니다.

  1. 아래와 같은 방법으로 하위 폴더의 cache를 지워줍니다.
    git rm -r --cached path_to_your_folder/
  2. 하위 폴더로 진입하고 .git폴더를 지워줍니다. 이때 중요한 것은 최상위 폴더의 .git폴더가 아닌 내가 지우고 싶은 폴더에 있는 .git폴더 입니다.
  3. git add .등의 방법으로 하위 폴더를 추가하고 git commit -m "commit"등으로 커밋해 줍니다. 그후 push를 하면 gitLab이나 gitHub등에서 폴더에 접근이 가능한 것을 확인 할 수 있습니다.
공유하기