누구든지 내 파일을 github에 푸시 할 때 회색 아이콘이 표시되는 이유를 알려주시겠습니까? 앱 디렉토리쪽에는 모델, 뷰 및 컨트롤러가 있어야하지만 원격 GitHub에서는 클릭 할 수 없습니다.
답변:
연결할 수없는 원격 위치를 가리키는 하위 모듈을 만든 것 같습니다.
이 답변을 참조하십시오 . 해당 아이콘이 녹색이면 하위 모듈을 가리 킵니다. 하위 모듈이 잘못 구성 되었기 때문에 귀하의 경우 회색으로 표시되었다고 가정합니다.
그 감안할 때 .gitmodules
존재하지 않는, 그것은 원격 정보없이 하위 모듈을 떠나, 삭제되어 있어야합니다.
들어가서 app
입력 git remote -v
하면이 모듈이 가리키는 위치도 볼 수 있습니다. 이 장소는 현재 연결할 수 없습니다.
비슷한 시나리오에서 하위 모듈을 추가하고 .gitmodules
. GitHub의 결과는 다음과 같습니다.
cat .gitmodules
반환합니까? 실제 URL을 게시하지 마십시오
git rm --cached <folder_name>
그런 다음 상위 디렉토리로 이동하여 다음을 수행하십시오.
git add .
git commit -m "<your_message>"
git push --all
--all
모든 분기를 푸시합니다 .
Git은 내부에 .git 디렉토리가 있기 때문에 하위 모듈이라고 생각합니다. 고치다...
디렉토리를 문제가되는 디렉토리로 변경했습니다.
cd <offending git submodule>
그 안에있는 .git 디렉토리를 제거하십시오.
rm -rf .git
git 캐시를 업데이트합니다.
git rm --cached <offending git submodule>
상위 디렉토리로 이동하십시오.
cd ..
git에 디렉토리를 추가하십시오.
git add .
git commit -m "Changed submodule to directory"
git push --all
앱 디렉토리 내에서 이미 git을 초기화했으며 리모컨을 찾을 수 없습니다. 앱 내에서 .git 파일을 삭제합니다. .
[app(master)]$ sudo rm -r .git
또는 폴더 안에 숨겨진 파일을 표시하고 수동으로 수행하십시오. 그런 다음 상위 폴더의 변경 사항을 다시 커밋하고 다시 푸시합니다.
내가 찾은 가장 쉬운 방법은 단순히 로컬에서 폴더를 제거하고 원격 저장소를 업데이트하는 것입니다. 로컬 디렉터리로 이동하여 잘못 설정된 .git 하위 폴더가 포함 된 폴더를 다른 위치 (예 : 데스크톱과 같은 로컬 저장소 외부)로 잘라내 문제를 수정하고 나중에 다시 복사 한 다음 다음을 실행합니다.
git submodule update
git add --all
git commit --all
git push
원격 저장소에서 회색으로 표시된 폴더를 제거해야합니다. 그런 다음 로컬 파일에 다시 폴더를 복사하고 위와 같이 add --all commit --all git push를 실행하십시오. 물론 먼저 하위 폴더에서 잘못 설정된 .git 폴더를 미리 삭제하여 동일한 문제를 방지하십시오. 다시; 리눅스 시스템에서 이것을 찾으려면 폴더 내에서 cntrl-h를 사용하여 폴더의 숨겨진 파일을 보면 문제를 일으키는 하위 폴더에 .git 폴더가 표시됩니다. 간단히 삭제하면 해결됩니다.
제 경우 에는 프로젝트의 상위 폴더에 Git 저장소를 설정하기 전에 Heroku에 배포 할 때 루트 폴더 (manage.py가있는 폴더)에 git 저장소를 초기화했습니다 .
그런 다음 프로젝트의 상위 폴더에 새 저장소를 만들었을 때 모델 뷰와 컨트롤러를 처리하는 루트 폴더가 회색으로 표시되었습니다. 다음은 나를 위해 일했습니다.
manage.py가있는 루트 폴더 내 에서 다음을 수행하십시오.
git remote add origin "github repo link"
git push -u origin master