티스토리 뷰
서브모듈 frontend 폴더 푸시 시도하다 황천길 다녀온 사연 (✅서브모듈을 해제하는 방법 택)
1200seconds 2025. 2. 26. 20:19때는 저번주 목요일...
frontend 폴더가 나도 몰래 서브모듈화 되어 깃허브에 언제나 올라가지 않던 여느날, 서브모듈 상태로 frontend 파일을 루트 디렉토리 깃과 별개로 관리해보겠다는 야심찬 포부를 가지고 frontend 디렉토리에서 이것저것 깃허브 push를 시도해보았다.
터미널 타임라인 일부
E:\dessert-recipe-project>git fsck --lost-found
Checking object directories: 100% (256/256), done.
Checking objects: 100% (20/20), done.
Verifying commits in commit graph: 100% (3/3), done.
E:\dessert-recipe-project>cd frontend
E:\dessert-recipe-project\frontend>git fsck --lost-found
Checking object directories: 100% (256/256), done.
dangling tree b16bdebd838e0a2eb87d63fab32bc4686adb6edb
E:\dessert-recipe-project\frontend>git reflog
f611a5e (HEAD, origin/main) HEAD@{0}: pull origin main --rebase (start): checkout f611a5ef4efc3a2db80ab106e3918c1c00faee35
a2ec58c (main) HEAD@{1}: Branch: renamed refs/heads/master to refs/heads/main
a2ec58c (main) HEAD@{3}: commit: frontend first Commit
e6d4938 HEAD@{4}: commit (initial): Initialize project using Create React App
E:\dessert-recipe-project\frontend>git reset --hard [커밋ID]
fatal: Cannot do hard reset with paths.
E:\dessert-recipe-project\frontend>git reflog
f611a5e (HEAD, origin/main) HEAD@{0}: pull origin main --rebase (start): checkout f611a5ef4efc3a2db80ab106e3918c1c00faee35
a2ec58c (main) HEAD@{1}: Branch: renamed refs/heads/master to refs/heads/main
a2ec58c (main) HEAD@{3}: commit: frontend first Commit
e6d4938 HEAD@{4}: commit (initial): Initialize project using Create React App
E:\dessert-recipe-project\frontend>git reset --hard a2ec58c
HEAD is now at a2ec58c frontend first Commit
E:\dessert-recipe-project\frontend>
E:\dessert-recipe-project\frontend>cd ..
E:\dessert-recipe-project>npm start
나의 디렉토리는 포괄적으로 말하면 아래와 같은데
root 디렉/
├── backend
└── frontend < 서브모듈 상태!
내가 언제 서브모듈로 지정을 했었었던건지ㅠ 아니면 frontend 폴더 내에 .gitignore 파일이 있어서인지 서브모듈화 되어있었다.
서브모듈 여부는 깃허브 레포지토리 폴더 그림에 화살표 표시가 되어있는 것으로... 사진과 같이 생겼다.

아.. 서브모듈도 ssh 등록 -> add -> commit -> push 이런 식으로 진행하면 안 된다는 것 같다.
특히나 git pull origin main --rebase 이거는 함부로 사용하면 안 된다고 체감을 했던 것 같다. 이거 사용 후에 frontend 폴더 파일들이 전부 다 날아간 것 같다...
황천길의 시작
서브모듈 안에 add -> ssh 등록 -> commit > push(에러발생) 이런 순서로 깃허브에 푸시를 시도했었다.
그런데 회색 명령어를 사용하고 좀 이따 frontend 폴더를 확인해보니 여태까지 작업한 프론트 파일들이 전부 없는 것이었다.
정확히는 아래처럼 디렉 구조가 바뀌어있었다.
root 디렉/
├── backend
├── frontend
│ ├── backend / 위와 겹치는 파일들이 수록되어있었나!
└── └── frontend / 빈 폴더
25/02/26
그리고 오늘...
드디어 해결했다!!!
서브모듈화를 풀어서 frontend 폴더 자체 push 완료!!
서브모듈화 푸는 과정도 기회가 되면 글로 정리해보고 싶다!
일단 그동안의 골치가 풀려서 너무 기쁘다!!! 이제는 프론트 파일들도 변경사항 생기면 바로 올릴 수 있다 ㅠ.ㅠ!!!
'리액트로 웹 개발 A to Z' 카테고리의 다른 글
| 프로젝트 전체 백업하기 : vscode cmd에서! + 3월 중간 점검 (0) | 2025.04.10 |
|---|---|
| (배포 실패) node+express 서버, MySQL 배포하기 : 배포는 어렵다 (0) | 2025.03.05 |
| bfg-report 사용 후 깃허브에 재업로드 되는 문제 (0) | 2025.02.20 |
| 리액트에서 중요한 것 : 상태관리, 비동기적, 렌더링 (0) | 2025.02.19 |
| 카카오 로그아웃 API 구현하기 : (해결!) 왜 로그아웃이 안되냐고오오 + fetch와 await (0) | 2025.02.18 |