git clone 해온 폴더 내 기존 repository에 추가하기(feat : submodule없애기)

bebrain·2023년 6월 12일


위에서부터 3개까지 기존 폴더, 아래 체크한 폴더가 clone한 폴더

기존 폴더에 git clone해온 폴더를 추가하여 git add .을 입력하니
아래의 경고문구가 터미널에 떴다.

캡쳐를 안해놔서 이미지로 대체함

기존 repo말고 또 다른 repo가 있다는 뜻이다.
이런 경우 이 상태로 push하면 submodule형태로 추가가 된다.

해결방법

터미널에 아래의 명령어를 입력하여 .git파일을 찾아낸다.
나는 ①내 기존 repo에 연결된 .git과 ②clone해온 폴더 안의 .git,
총 2개가 터미널에 나타났다.

$ find . -name '.git'

clone해온 폴더 안으로 들어가 해당 .git(②)을 제거해준다.

$ cd 폴더명
$ rm -rf .git

그리고 폴더안에 gitignore파일도 있다면 그것도 삭제해준다.
gitignore는 .git명령어로 안나온다. (본인은 이걸 못찾아서 한참 헤매었음)

다 삭제해주었다면 다시 상위폴더로 돌아가

$ cd ..

위의 find 명령어로 재확인하고 평소대로 add, commit, push하면 끝

장장 두시간동안 눈물의 XX쇼를 통해 해결


  • git init 취소
    rm -r .git

  • 커밋내역 확인
    git reflog

  • commit 하나씩 되돌리기
    git reset HEAD^

  • 해당 커밋위치(ex d937ea20a)로 변경
    git reset --hard d937ea20a

  • 커밋 되돌리기
    git push -f origin main

0개의 댓글