Git의 서브 모듈에서 추적되지 않은 콘텐츠를 제거 할 수없는 것 같습니다. 실행 git status
수율 :
# 지점 마스터 # 커밋을 위해 변경되지 않은 변경 사항 : # (커밋 할 내용을 업데이트하려면 "git add ..."를 사용하십시오) # ( "git checkout-..."을 사용하여 작업 디렉토리의 변경 사항을 버리십시오) # (서브 모듈에서 추적되지 않거나 수정 된 내용을 커밋하거나 버리십시오) # # 수정 : 번들 / 스닙 메이트 (추적되지 않은 콘텐츠) # 수정 : 번들 / 서라운드 (추적되지 않은 콘텐츠) # 수정 : 번들 / 트레일 링-공백 (추적되지 않은 내용) # 수정 : 번들 / 젠 코딩 (추적되지 않은 콘텐츠) # 커밋에 추가 된 변경 사항 없음 ( "git add"및 / 또는 "git commit -a"사용)
--ignore-submodules
매개 변수를 추가하면 이 메시지가 숨겨집니다. 하지만이 먼지를 더 적절하고 핵심적인 방식으로 제거 할 수있는 방법이 있는지 궁금합니다.
답변
자식 상태는 추적되지 않은 내용을보고하므로 실제 상태를 유지하는 실제 방법은 해당 하위 모듈 각각에 들어가는 것입니다.
- 추적되지 않은 내용을 추가하고 커밋
- 또는
.gitignore
각 모듈 에 따라 추적되지 않은 내용을 참조하십시오 . - 또는 당신은 서브 모듈의 동일한 무시 컨텐츠를 추가 할 수 있습니다
.git/info/exclude
로, peci1의 보고서 코멘트에 . -
또는 ezraspectre 의 답변에 언급 된대로 서브 모듈 사양에 더티를 추가하십시오 (위).
git config -f .gitmodules submodule.<path>.ignore untracked
-
또는 전역
.gitignore
파일을 추가 하십시오 (종종~/.gitignore-global
). 예를 들어처럼.DS_Store
또는 제 경우Carthage/Build
에 의해보고 된 마리아 서니 의 코멘트 . 참조.gitginore
맨 페이지를 :
사용자가 모든 상황에서 Git이 무시하도록하려는 패턴 (예 : 사용자가 선택한 편집기에서 생성 한 백업 또는 임시 파일)은 일반적으로
core.excludesFile
사용자의에 지정된 파일로 이동합니다~/.gitconfig
. 기본값은$XDG_CONFIG_HOME/git/ignore
입니다. 이$XDG_CONFIG_HOME
설정되어 있지 않거나 비어 있으면$HOME/.config/git/ignore
대신 사용됩니다.
답변
이 블로그 게시물 이 전체적으로 작동한다는 것을 알았 습니다 . 파일 ignore = dirty
의 각 항목에 옵션을 추가 .gitmodules
합니다.
[submodule "zen-coding-gedit3"]
path = zen-coding-gedit3
url = git://github.com/leafac/zen-coding-gedit3.git
ignore = dirty
답변
각 하위 모듈 디렉토리로 이동하여 분리 된 자식 역할을 할 수도 있습니다. 예를 들면 다음과 같습니다.
cd my/project/submodule
git status
… / 수정 된 파일의 목록을 가져옵니다 /
git add . //to add all of them to commit into submodule
git commit -m "message to your submodule repo"
당신은 또한 원격 하위 모듈 저장소를 업데이트 할 수 있습니다
git submodule update
아무튼
답변
detached HEAD
하위 모듈 브랜치 때문일 수 있습니다 . 이 경우 하위 모듈 경로 (예 :)로 이동 ./bundle/snipmate
한 다음을 실행하십시오 git checkout master
.
답변
어제 12 개의 서브 모듈에 가까운 프로젝트 에서이 문제에 갇혔습니다.
git status
출력을 보여주고 있었다.
# On branch master
# Changes not staged for commit:
# (use "git add ..." to update what will be committed)
# (use "git checkout -- ..." to discard changes in working directory)
# (commit or discard the untracked or modified content in submodules)
#
# modified: proj1 (untracked content)
# modified: proj1 (modified content, untracked content)
# ...
비 추적 콘텐츠 오류를 해결하려면, 나는 모든 서브 모듈에서 비 추적 파일 (모든했다 제거했다 *.pyc
, *.pyo
사용 a 파이썬에 의해 생성 된 파일) .gitignore
.
다른 것을 해결하기 위해 git submodule update
각 서브 모듈을 업데이트 한 것을 실행해야했습니다 .
답변
내 상황에서 ZF2 환경에서 새 모듈의 시작점으로 모듈을 복제합니다. 이것이하는 일은 디렉토리에 자체 .git 폴더를 넣는 것입니다.
이 경우 해결 방법은 .git 폴더를 삭제하는 것입니다 (숨기려면 파일을 표시해야합니다).
답변
이것은 아마도 특정 폴더 안에 다른 .git [숨겨진 폴더]가있을 때 발생합니다.
수정 : ./../ .. (수정 된 내용, 추적되지 않은 내용)
하위 디렉토리에이 .git 폴더가 포함되어 있지 않은지 확인하십시오.
이 경우 하위 디렉토리에서 .git 폴더를 수동으로 삭제하여 문제를 해결할 수 있습니다.