-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[LAB-4] Git에서 폴더명을 변경했더니 발생한 오류에 대해 질문있습니다. #304
Comments
#290 (comment) 에서 답변한 것처럼 컨벤션을 지키지 않아 발생한 Git 이슈인지라
오류 메시지 아래 나열된 워킹 트리의 추적되지 않은 파일은 체크아웃 과정에서 덮어써지게 됩니다. 해결 방법 체크아웃으로 브랜치를 전환하기 전에 문제의 추적되지 않은 파일을 제거하거나, 이동 시킵니다. 출력된 문제 파일의 이름을 모두 아래 방법으로 변경합니다. git mv src/pages/Home/Mainmodal/@recoil/Mainmodalstate.is temporary-name
git mv temporary-name src/pages/Home/MainModal/@recoil/MainModalState.js 다른 방법은 문제 파일을 모두 삭제하고, 커밋 한 후 다시 하나 하나 생성하는 것입니다. |
컨벤션을 지키는 것을 명심하겠습니다 ㅠㅠ!! 야무쌤께서 mv를 통해 파일명을 변경하는 방식의 예시를 보여주신건, src/pages/Home/MainModal/@recoil/MainModalState.js 이런식으로 경로를 쭉 서술했는데, 만약에 git 명령어인 cd를 통해서, 해당 파일명의 위치까지 이동을 한 뒤에 mv를 쓴다면, 굳이 경로를 일일히 써 줄 필요는 없는거죠?? |
네 미영님 🙂 git 파일이나 폴더 이름 변경 (git rename file or folder) 문서를 참고해서 진행해보세요. |
@SeoMiYoung 님 브랜치에서 추적 중인 폴더/파일명을 아래와 같이 rename 할 수 있고 커밋 후에 checout 해볼 수 있을 것 같습니다. 🤔 1.mp4 |
답변에서 시연한 mainmodal 디렉토리 파일 이름 변경은 이전 Commit 시점(✨ [feat] 비밀글로 설정하기에 포커스 가능하게 하기)으로 |
아래 오류 문구로 보아 이름 변경(rename) 대상이 존재한다고 알려 줍니다.
제가 테스트한 환경은
아래 내용은 이전 답변에서 기술 되었던 부분을 재구성한 것입니다. Git 설정을 아래와 같이 변경해 대소문자를 구분하도록 설정합니다. git config core.ignorecase false Git 커밋 과정에서 캐시 오류를 출력하는 경우 아래 명령을 입력 실행합니다. git rm -r --cached .
git add . && git commit -m "Git 캐시 삭제" 문제 파일의 이름을 변경합니다. # 문제 이름 → 임시 이름으로 변경
git mv src/pages/Home/Mainmodal/Mainmodal.jsx src/pages/Home/MainModal/MainModal.temp.jsx
# 임시 이름 → 컨벤션 이름으로 변경
git mv src/pages/Home/MainModal/MainModal.temp.jsx src/pages/Home/MainModal/MainModal.jsx Git 커밋 이력을 추가합니다. git add . && git commit -m "Mainmodal → MainModal 이름 변경" Git 체크아웃 명령을 시도 해봅니다. |
Git mv case sensitivity 문서를 읽어보면 다음과 같이 안내하는데 참고가 되셨으면 좋겠습니다. 🤔 Git mv case sensitivityGit mv 명령의 멋진 기능 중 하나는 대소문자로 특정 파일 이름을 바꾸는 기능입니다. 카멜케이스(camelCase)와 같은 네이밍 컨벤션을 사용하는 사용자에게는 대소문자 기본 설정에 맞게 프로젝트 디렉토리의 파일을 정리하는 데 유용할 수 있습니다. One more cool feature of Git's mv command is the ability to rename files with specific casing. For those of us who tend to stick with specific naming conventions such as camelCase, this can come in handy for cleaning up files in a project directory to suit your casing preference. simplefile2.ext를 카멜케이스로 변경하고 어떤 일이 발생하는지 살펴보겠습니다. Let’s try changing simplefile2.ext to camel case and see what happens: git mv simplefile2.ext simpleFile2.ext
git status
On branch master
Changes to be committed:
(use "git restore --staged <file>..." to unstage)
renamed: simplefile2.ext -> simpleFile2.ext 나이스! 케이스 변경이 잠겨 있고 로드되어 git 커밋을 할 준비가 되었습니다. Nice! Our case change is locked and loaded and ready for a git commit. Compared with an mv command, this is excellent. The mv by itself not only lacks the ability to stage our changes, it’s also unwilling to entertain our casing quirks. The git mv is certainly the way to go. |
질문 작성자
서미영
문제 상황
안녕하세요.
제가 폴더명에 대한 컨벤션을 잘 지키지 않았어서(앞으로 잘 지키도록 하겠습니다ㅠㅠ), 폴더명을 수정하려고 했습니다.
pages/Home/Mainmodal => pages/Home/MainModal
이렇게 바꿔야 하는데요,
우선 처음에는 단순히 Rename으로 (마우스 클릭으로) 이름 변경을 시도하고 PR하였으나, 이상하게 PULL을 받으면 다시 원래의 이름으로 돌아오는 현상이 발생했습니다.
그래서 이상하다 싶어서, 검색을 해보니,
는 글을 보게 되었고, 명령어를 입력해주었습니다.
또한, cd를 통해서 폴더명을 바꾸려고 시도도 해봤고,
어떤 글들은 캐시를 비우라고 해서, 캐시를 비운 후 commit하기도 해봤고,
또 찾아보니 추적하고 있지 않은 파일들을 지우라고 해서,
git clean -fd --dry-run
를 입력해보기도 했습니다.어찌저찌하다보니, 로컬에 있는 Mainmodal을 모두 MainModal로 수정했고, orgin과 upstream에 모두 push와 PR을 통해 MainModal인 상태로 변경시켜놨습니다.
(1) 다음 사진은 origin 상황입니다. (https://github.com/SeoMiYoung/project-repo/tree/feat/%23212/src/pages/Home/MainModal)
(2) 다음 사진은 upstream의 develop 브랜치 상황입니다. (https://github.com/LikeLion-FE-React-Project04/project-repo/tree/develop/src/pages/Home/MainModal)
둘다 모두 Mainmodal이 아닌, MainModal인 걸 확인할 수 있었습니다.
그래서 저는 로컬에서 현재 feat/#212 브랜치에서 작업중이었는데, develop브랜치로 이동을 하려고
git checkout develop
을 입력했습니다.
그러나, 자꾸 이동하는데 실패하고, 다음과 같은 문구가 뜹니다.
그래서 현재 develop으로 이동을 못하고 있는 상황입니다...
로컬, origin, upstream에 폴더명이 모두 잘 바뀐 것 같은데 에러문구가 왜 뜨는 것일까요?
도움이 필요합니다...
프로젝트 저장소 URL
origin: https://github.com/SeoMiYoung/project-repo
branch: feat/#212
환경 정보
The text was updated successfully, but these errors were encountered: