하위 모듈이 아닌 경로에 대한 하위 모듈 매핑을 .git 모듈에서 찾을 수 없습니다.
는 저는서듈이있프있가다에 .lib/three20
나의.gitmodule
파일은 다음과 같습니다.
[submodule "lib/three20"]
path = lib/three20
url = git://github.com/facebook/three20.git
저는 이것을 과거에 오류 없이 복제했습니다, (git submodule init
에 다에가 .git submodule update
그것은 그리고 그것은 한동안 효과가 있었습니다.
이것을 새 컴퓨터에 복제하려고 했는데 이제 이 오류가 발생했습니다.git submodule init
:
No submodule mapping found in .gitmodules for path 'Classes/Support/Three20'
이 경로는 Xcode의 빈 폴더일 뿐이며 다른 디렉터리의 프로젝트를 저장하는 데 사용됩니다.그것은 의 일부가 아닙니다..gitmodules
파일입니다. 그래서 이 경로가 어디서 왔는지 알 수 없습니다.
아이디어 있어요?
다음과 같은 경우 'OtherLibrary/MKStore' 경로에 대한 .git 모듈에서 하위 모듈 매핑을 찾을 수 없습니다.
$ git submodule update --init
저는 오류가 발생하는 이유를 몰랐습니다.1분을 보낸 후 스택 오버플로에서 답을 찾았습니다.
$ git rm --cached OtherLibrary/MKStore
그런 다음 하위 모듈을 다시 업데이트합니다.잘 작동하고 있습니다.
http://en.saturngod.net/no-submodule-mapping-found-in-gitmodules
Rajibchowdhury의 답변(업데이트됨)에 따라 하위 모듈(특수 모드가 있는 '폴더')을 나타내는 인덱스의 특수 항목을 제거하는 것이 좋습니다.160000
).
해당 특수 입력 경로가 참조되지 않는 경우.gitmodules
')Classes/Support/Three20
원래 질문에서), 그런 다음 "No submodule mapping found for path" 오류 메시지를 방지하기 위해 제거해야 합니다.
하위 모듈을 참조하는 인덱스의 모든 항목을 확인할 수 있습니다.
git ls-files --stage | grep 160000
이전 답변(2010년 11월)
초기 서브모듈을 올바르게 선언하지 않았을 수 있습니다(즉, 테일이 없는 경우)./
마지막에, 내 예전 대답에서 설명한 것처럼, 비록 당신의.gitmodules
에 정상으로 보이는 경로가 있습니다.
이 스레드는 다음을 언급합니다.
새 클론에서 'git submodule init'를 실행할 때 동일한 오류가 발생합니까?
만약 그렇다면, 당신은 뭔가 잘못된 것을 가지고 있습니다.합니다.
.gitmodules
듈에 모든참에 있는 하위 에 대한 모든 ..git/config
하게 해야 .Pikimal
에 dir 없습다니가 ..git
그 안의 디르.
문제가 해결되면 체크인하고 크루즈 작업 복사본에서 동일한 작업을 수행합니다.
의 메인인 , 을제지마세하요의명당신▁your마세요▁▁deletet',▁main▁don,지를 삭제하지 마세요..gitmodules
파일, 하지만 다른 여분을 돌보세요..gitmodules
파일을 저장할 수 있습니다.
여전히 "잘못된 하위 모듈 초기화"라는 주제에서 Jefromi는 실제로 깃링크인 하위 모듈을 언급합니다.
추적되지 않은 콘텐츠를 추적하는 방법을 참조하십시오.이러한 디렉터리를 실제 하위 모듈로 변환하기 위해: ipatch가 코멘트한 대로, ipatch의 노트에 있는 세부 사항:
git 하위 모듈 작업 중 아래 오류가 발생할 경우
mr-fancy-42-repo already exists in the index
- 하위 모듈 폴더/디렉토리 제거
- 폴더/디렉토리에 대한 Git 캐시 제거
- 그런 다음 하위 모듈을 다시 초기화합니다.
rm -Rf /path/to/mr-fancy-42-repo git rm -R /path/to/mr-fancy-42-repo git submodule add [mr-fancy-42-submodule-repo] /path/to/initialize/submodule/repo
소스 트리를 사용하여 작업을 수행하면 이 메시지가 표시됩니다.
내가 발견한 메시지:
git -c diff.mnemonicprefix=false -c core.quotepath=false -c credential.helper=sourcetree submodule update --init --recursive
No submodule mapping found in .gitmodules for path 'SampleProject/SampleProject'
Completed with errors, see above
제 시나리오는 contains .git 폴더의 프로젝트 디렉토리를 잘못 적용한 것입니다.
소스 트리는 이 폴더를 git 하위 모듈로 간주했지만 실제로는 그렇지 않았습니다.
내 해결책은 명령줄을 사용하여 제거하는 것입니다.
$ git rm -r SampleProject --cached
$ git commit -m "clean up folders"
쓰레기통을 치우고 깨끗하게 유지하세요.
저는 이 문제를 해결했습니다.처음에는 다음과 같이 시도했습니다.
git submodule add --branch master [URL] [PATH_TO_SUBMODULE]
마스터 분기를 복제하려면 --branch 옵션의 사양을 사용하면 안 됩니다.다음 오류가 발생합니다.
fatal: Cannot force update the current branch.
Unable to checkout submodule '[PATH_TO_SUBMODULE]'
당신이 시도할 때마다
git submodule sync
이 오류가 발생합니다.
No submodule mapping found in .gitmodules for path '[PATH_TO_SUBMODULE]'
그리고 .git 모듈에 필요한 줄은 절대 추가되지 않습니다.
그래서 저에게 해결책은 다음과 같습니다.
git submodule add [URL] [PATH_TO_SUBMODULE]
.gitmodules 파일에서 문자열을 교체했습니다.
"path = thirdsrc\boost"
와 함께
"path = thirdsrc/boost",
그리고 그것은 해결되었습니다! - - -
제 레포의 새 체크아웃에서 "git submodule init"을 시도한 후 이 오류가 발생했습니다.처음에 모듈 하위 폴더를 잘못된 대소문자로 지정한 것으로 드러났습니다.저는 Mac에서 대소문자를 구분하는 파일 시스템(hurr)을 사용하고 있기 때문에 실패했습니다.예:
git submodule add git@github.com:user/project.git MyApp/Resources/Project
Cloning into 'MyApp/Resources/Project'
성공하지만 문제는 디스크의 경로가
Myapp/Resources/Project
제가 이해할 수 없는 것은 git가 모듈을 잘못된 폴더로 초기화하고(내 명령에서 잘못된 대소문자를 무시함), 이후 명령에서 (실패함으로써) 올바르게 작동하는 이유입니다.
그저.git rm subdir
괜찮습니다. 그러면 인덱스로 하위 디르를 제거할 수 있습니다.
방금 이 문제가 있었습니다.한동안 경로 제거, git 경로 제거, .git 모듈 제거, .git/config에서 항목 제거, 하위 모듈 다시 추가, 변경 사항 적용 및 푸시에 대한 조언을 시도했습니다."git commit -a"를 했을 때 변화가 없어 보여서 혼란스러웠기 때문에 제거만 밀고 다시 편집을 눌러 변화처럼 보이게 했습니다.
잠시 후 저는 모든 것을 제거한 후 "git submodule update --init"을 실행하면 git이 더 이상 참조해서는 안 되는 특정 이름에 대한 메시지가 있다는 것을 알게 되었습니다. 즉, 서브모듈이 체크아웃하는 경로 이름이 아니라 링크하는 저장소의 이름입니다.Grepping은 이 참조가 .git/index에 있음을 밝혔습니다.그래서 "gitrm --cached repo-name"을 실행하고 모듈을 다시 추가했습니다.이번에 커밋했을 때 커밋 메시지에 이 예기치 않은 개체를 삭제한다는 변경 내용이 포함되어 있었습니다.그 후에는 잘 작동합니다.
무슨 일이 일어났는지 확실하지 않습니다. 누군가 git submodule 명령을 잘못 사용한 것 같습니다. 아마도 논쟁을 뒤집을 수도 있습니다.내가 될 수도 있었는데 심지어...이것이 누군가에게 도움이 되기를 바랍니다!
은 폴더매다확수있다니습에서 수 있습니다..git/modules
folder 폴각더 (각이있음각있)음()가 )config
▁to▁its▁reference를 참조하여 파일을 .worktree
가 의 하십시오. 의 구성은 다음과 같습니다..gitmodules
그리고..git/config
.
그렇게.gitmodules
올바른 경로:
[submodule "<path>"]
path = <path>
url = git@github.com:foo/bar.git
그고리로..git/modules/<path>/config
[core]
섹션에른올경있습다니가로바로 가는 길을 가지고 .<path>
예: 예: 예: 예를 들어.
[core]
repositoryformatversion = 0
filemode = true
bare = false
logallrefupdates = true
worktree = ../../../<path>
경우있는가의 오른쪽 .git/modules
누락되었습니다, 그러면 당신은 당신의 서브모듈 디르로 가서 시도해야 합니다.git reset HEAD --hard
또는git checkout master -f
이렇게 해도 문제가 해결되지 않으면 손상된 하위 모듈에 대한 모든 참조를 제거하고 다시 추가한 다음 "Git 하위 모듈 이름 바꾸기"를 참조하십시오.
시나리오: dirA-xx 디렉토리에서 다른 dirB-xx 디렉토리로 하위 모듈 변경
- dirA-xx를 dirB-xx로 이동합니다.
- dirB-xxx를 사용하도록 .git 모듈의 항목 수정
- dirB-xxx를 사용하도록 .git/config의 항목 수정
- 올바른 디렉토리를 반영하도록 .git/modules/dirA-xxx/config를 수정합니다.
- 올바른 디렉토리를 반영하도록 dirA-xxx/.git를 수정합니다.
려달을
git submodule status
파일: dirA-xx의 .git 모듈에하위 .이는 dirA-xxx가 존재하지 않지만 git에 의해 추적되기 때문입니다. 방법: Git 인덱트방법:
git rm --cached dirA-xxx
사용해 보십시오.
git submodule foreach git pull
실제 연구를 의 단계들은 무언가가. git submodule structure에 대한 것입니다. git submodule structure에 대한 것입니다.그럼에도 불구하고 위의 단계를 거치면 현재 상황은 좋아 보입니다.작업을 수행하기 위한 통찰력이나 적절한 단계가 있으면 여기에서 공유하십시오.:)
다음이 있는 경우:
- 단순사 서여제을다니거습했듈을 했습니다.
rm
에git rm
; - 에서 서브모듈에 대한 참조를 하였습니다.
.gitmodules
; - 제니습다에서 참조를 했습니다.
.git/config
;
그리고 아직도 오류가 발생합니다. 제가 해결한 것은 서브모듈이 있던 빈 폴더를 다시 읽는 것이었습니다.다음을 사용하여 이 작업을 수행할 수 있습니다.
mkdir -p path/to/your/submodule
touch path/to/your/submodule/.keep
.keep
빈 파일일 뿐입니다. git commit
그러면 오류가 사라집니다.
폴더 구조
xyz folder as root directory which contains 2 folder as submodule
-- product
-- user
루트 디렉터리에서 다음 명령 실행
git rm --cached product/
git rm --cached user/
제품 디렉토리로 이동하여 실행
git submodule update --init
사용자 디렉토리로 이동하여 실행
git submodule update --init
루트 디렉토리로 다시 이동합니다. cd .
git add --all
일반적으로 git는 프로젝트의 루트 디렉터리(.git/)에 숨겨진 디렉터리를 만듭니다.
CMS에서 작업할 때 특정 모듈/플러그인에 대한 git 메타데이터가 포함된 .git/디렉토리를 포함하는 모듈/플러그인을 설치할 수 있습니다.
가장 빠른 해결책은 모든 .git 디렉터리를 찾고 루트 git 메타데이터 디렉터리만 유지하는 것입니다.이렇게 하면 Git는 이러한 모듈을 프로젝트 하위 모듈로 간주하지 않습니다.
의 제사보고를 ..gitmodules
알고 보니 제가 가져서는 안 되는 대문자가 있었습니다.하세요, 그니까명해심, 그러..gitmodules
디렉토리는 대소문자를 구분합니다.
repo 삭제 및 이 명령 실행을 해결했습니다.
git clone --recurse-submodules https://github.com/chaconinc/MainProject
그 이후로는 잘 작동했습니다. 여기 있는 옵션 중 어떤 것도 도움이 되지 않았기 때문입니다.
기능은 다음과 같습니다.
- 기본 레포 복제
- 복제가 완료된 후 즉시 하위 모듈 초기화
그리고 이것이 마지막입니다.
아래 링크에서 더 많은 정보를 찾을 수 있습니다.
fatal: 하위 모듈 경로 'path/to/submodule'에 대한 URL을 찾을 수 없습니다. 경로 'path/to/submodule'에 대한 하위 모듈 매핑을 .gitmodules에서 찾을 수 없습니다.
이러한 오류는 루트 디렉터리 폴더에서 ./resources/css/style.css로 한 번 "cd"했을 때 발생했습니다.
저는 용한사를 요.git init
style style.css를 에 내 를 인식하는 것, 내가이추미가후한내인실수식를다합니에서에▁from.git add remote origin <url>
.
style.그서여히style.css파gitbash를 했습니다.git remove remote origin
.
가 확했을때를 했을 때.git remote
원격 링크가 제거되었습니다.
궁적로으를 한 에 후에한.git init
원격에 추가한 루트 디렉터리의 경우 리소스/리소스 경로가 위에 나열된 하위 모듈 오류/리소스 오류를 제공하고 있습니다.루트했습니다.git rm --cached resources/css
변경 사항을 다시 푸시하고 github 페이지에서 배포를 확인한 후 결과가 어떻게 되는지 보기 위해 CSS 디렉토리를 삭제하고(코드를 삭제하고), 변경 사항을 푸시하고, 그 안에 다른 분기(선택 사항)에 CSS 디렉토리와 styles.dll 파일을 추가했습니다.효과가 있었어요!특히 대규모 프로젝트에서 디렉토리를 삭제하는 것이 항상 이상적이지는 않다는 것을 알지만, 이 문제를 해결하기 위한 한 가지 방법을 더 공유하고 싶을 뿐입니다.
추신: 스택 오버플로가 발생한 지 꽤 오래되어서, 긴 텍스트에 대해 사과드립니다.#대답
제 경우 이 오류는 아마도 서로 다른 하위 모듈 구성을 가진 두 분기의 .git 모듈 간의 잘못된 병합 때문일 것입니다.이 포럼에서 제안을 받은 후 .gitmodules 파일을 수동으로 편집하는 문제를 해결했습니다. 누락된 하위 모듈 항목을 추가하는 것은 매우 쉽습니다.그 후 git submodule update --init --recursive 명령어는 문제없이 작동했습니다.
문제는 중복된 하위 모듈 항목이 (아마 병합에서) .git 모듈에 추가되었다는 것입니다..git 모듈에서 git이 불만을 제기한 경로 git를 검색하여 동일한 두 섹션을 찾았습니다.섹션 중 하나를 삭제한 것으로 문제가 해결되었습니다.
Git 1.7.1은 "하위 모듈 매핑 없음" 오류를 제공했지만 Git 2.13.0은 신경 쓰지 않는 것처럼 보였습니다.
저 같은 경우에는 이사를 갑니다..gitmodules
문제를 해결하기 위해 파일을 작성합니다. 30분 정도 걸립니다.
Root
Dir
Dir
Dir
Dir
Submodule repo files
.gitmodules [Wrong place]
Root
Dir
Dir
Dir
Dir
Submodule repo files
.gitmodules [Correct]
언급URL : https://stackoverflow.com/questions/4185365/no-submodule-mapping-found-in-gitmodule-for-a-path-thats-not-a-submodule
'programing' 카테고리의 다른 글
AltGr 키가 작동하지 않습니다. 대신 Ctrl+AltGr을 사용해야 합니다. (0) | 2023.05.11 |
---|---|
이클립스:저장 시 코드를 포맷할 수 있습니까? (0) | 2023.05.11 |
배열에서 인덱스 또는 키를 확인하는 가장 쉬운 방법은 무엇입니까? (0) | 2023.05.06 |
GitHub 저장소의 내용 복제(폴더 자체 없음) (0) | 2023.05.06 |
모노가 황금 시간대에 준비되었습니까? (0) | 2023.05.06 |