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

bebrain·2023년 6월 12일
1


위에서부터 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개의 댓글