개발을 시작한지 3주가 되었다. 처음에는 무작정 코드를 작성하느냐고 프로젝트 구조를 잡지 않고 마구잡이로 생산했는데, 코드를 작성하면서 이 파일은 어디에 있는 것인지 헷갈렸고 개발 속도를 늦춘다고 생각하여 더 늦기 전에 구조를 잡게 되었다.
현재 나의 로컬 프로젝트 디렉토리는 다음과 같다.
+추가하면 좋은 폴더들
구조화하기 위해 파일 및 폴더를 옮기는 작업이 필요하다. 이 때 로컬에서 직접 변경하는 것보다 git 명령어를 통해 하는 것이 안전하다!
만약 로컬에서 파일이름 수정 및 삭제 후 git push를 하게 되면 git에 그대로 반영이 되지 않는 문제가 있다.
예전에 파일 이름을 모두 카멜케이스를 바꾼다고 로컬에서 MyLayout.tsx을 myLayout.tsx 파일으로 바꾸었는데, git push 할 때 git에서 파일명의 대소문자를 구분하지 못하여 이름변경 반영이 안되었다. 하지만 코드 상에서는 대소문자 구분이 당연히 되서 배포시에 파일을 찾지 못하는 문제가 발생하였다.
git config core.ignorecase false
이 명령어를 사용하여 대소문자를 구분하라고 한 후, push를 했더니 myLayout.tsx과 MyLayout.tsx가 두개 다 git에 생기는 이슈가 있었다!
이러한 이슈등을 방지 하려면 파일 이동, 삭제, 파일명 변경시 다음과 같은 명령어를 사용하여야 한다.
git mv [파일/폴더 상대경로] [폴더 상대경로]
명령어를 사용하지 않고 옮기면, delete되고 create 된 것처럼 git이 인식한다. 하지만 위의 명령어를 사용하면 rename으로 인식한다.
git mv [현재 파일명] [변경할 파일명]
나는 .gitignore에 dist를 시간이 흐른 후 추가하게 되서, git에 dist가 남아있었다. 이 경우 로컬에는 그대로 두고, git에 있는 dist만 지워야 한다. 이때는 다음 명령어를 사용할 수 있다.
git rm --cached -r [삭제할 폴더/파일 경로]
git rm -r [삭제할 폴더/파일 경로]
git add -u
git commit -a -m "massage"
좋은 글 감사합니다.