2013-01-17 3 views
1

내 프로젝트에 몇 가지 새 파일과 함께 폴더를 추가하고 자식 자식 상태를 수행 할 때, 자식 전용 폴더 및 파일에 대해 알려줍니다. 내가 추가 할 때 - A 폴더 만 있고 어떤 파일도 추가되지 않았고 내가 밀고 당길 때 폴더와 파일이 아닌 폴더 만 가져옵니다.힘내 줄을 새 파일을 볼 수 없습니다, 폴더 만

내가 뭘 잘못하고 있니?

+0

파일이 .gitignore 파일의 패턴과 일치합니까? –

+0

아니, Daniel이 아래에서 말한 바로는 prolly입니다. –

답변

2

git은 폴더가 아닌 파일 만 추적하기 때문에 밀어 넣기 및 끌기와 관련된 동작을 수행 할 수 없습니다. git에 빈 디렉토리를 추가하는 것은 불가능합니다.
git status 그러나 이것은 폴더 내의 모든 파일이 새 파일이기 때문에 예상되는 동작입니다. 왜냐하면 자식 폴더가 아직이 폴더 안에있는 파일을 추적하지 않기 때문입니다.

또한 git school, challenge 7을 확인하십시오. 당신이 거기 git status를 입력하면 octofamily이 두 개의 파일이 포함되어 있지만,이 출력이 표시됩니다

$ git statu­s 
# On branch master 
# Untracked files: 
# (use "­git add <file>..." to­ include i­n what wil­l be commi­tted) 
# 
# blue_octocat.txt 
# octofamily/ 
# red_octocat.txt 

을이, 당신은 아직 할 수있는 UI에 불과 단순화 git add octofamily/baby_octocat.txt (그러나, 망할 놈의 학교에서, 그것 때문에 실제 자식 클라이언트가 아닙니다).

후속 git status 지금이 반영 : 이제 해당 폴더가 알려져 있기 때문에

$ git statu­s 
# On branch master 
# Changes to be committed: 
#  new file: octofamily/baby_octocat.txt 
#   
# Untracked files: 
# (use "­git add <file>..." to­ include i­n what wil­l be commi­tted) 
# 
# blue_octocat.txt 
# octofamily/momma_octocat.txt 
# red_octocat.txt 

는, 지금 octofamily 내부의 파일을 표시하는 방법, 유의하시기 바랍니다.

+0

내가 밀었을 때 내 사이트에 빈 폴더가있어 매우 이상합니다. 그러나 폴더의 파일 추적을 시작하려면 어떻게해야합니까? –

+0

@JohanDahl : 업데이트를 참조하십시오. 실제로 빈 폴더는 이상합니다. –

+0

그렇다면 내 git 상태에 문제가 없다고 생각합니다. 그러나 나는 git add를했다. git add -A와 추가되지 않은 파일을 보았을 때 최소한 자식 상태가 아무 것도보고하지 않았다. 나는 마침내 폴더 안쪽으로 가서 git add를 사용하여 인식되도록했습니다. 거기에서. 하지만 그 자식 프로젝트가 내 루트 폴더에서 작동하지 않아야합니까? –

6

의는 다음과 같은 비 추적 폴더가 있다고 가정 해 봅시다 :

./fruits/ 
./fruits/apples.txt 
./fruits/kiwis.txt 

당신이 비 추적 폴더 안에있는 파일을 보려면 :

함께
git status -u 

당신이 비 추적 폴더를 준비하려는 경우와 그 안에있는 파일 :

git add fruits/ 
0

git은 이제 dden .git 폴더를 서브 모듈로 사용하십시오. 폴더 내용을 부모 저장소에 저장된 참조와 함께 별도의 저장소로 액세스 할 수있는 상태로두고 그런 방식으로 내용을 확인할 수 있습니다.

1) 원하는대로 참조 번호로 링크 된 두 개의 저장소를 따로 사용할 수 있습니다.

2) 폴더 내용의 git 내역을 유지하는 것이 중요하지 않은 경우 .git 폴더를 삭제하면 정상적인 자식 동작이 반환됩니다.

3) 내역을 보존하려면 git subtree을 사용하여 새 저장소로 분기를 복사 할 수 있습니다. 이렇게하면 파일을 로컬에서 편집 할 수 있으며 기록에 계속 액세스 할 수 있습니다.


다음 명령은 다른 로컬 repo의 현재 분기의 내용과 기록을 현재 로컬 분기로 복사합니다.

0

이 디렉토리에있는 기존 파일의 git add 하나를 시도

git subtree add --prefix=[newFolderName] [/path/to/other/repo] HEAD

(이름과 당신의 선택의 경로 사각 괄호 부분을 교체합니다). git status 그리고 평소대로 모든 파일이 표시됩니다. 이것은 나를 위해 일했다.

+0

이것은 실제로 질문에 대답하지 않습니다. 다른 질문이있는 경우 [질문하기] (https://stackoverflow.com/questions/ask)를 클릭하여 질문 할 수 있습니다. [평판] (https://stackoverflow.com/help/privileges/set-bounties)을 충분히 확보하면 [현상금 추가] (https://stackoverflow.com/help/privileges/set-bounties)를 통해이 질문에 더 집중할 수 있습니다. 평판). - [리뷰에서] (리뷰/저품절 포스트/17335259) – Omi

관련 문제