2012-04-12 5 views
7

나는 끌어 오기를하고 싶다는 git repo가 ​​있습니다. 나는 아무 문제없이 정상 git pull을한다. 문제는 내가 repo에서 단 하나의 특정 디렉토리를 원한다는 것입니다.git repo에서 하나의 디렉토리 만 꺼내십시오.

#Ignore all files 
/
#Except the one I want 
!/temp 

문제는이 작동하지 않을 수 있습니다 : 내 생각은이 같은 규칙으로 .gitignore 파일을 사용할 수 있었다. 그것이 올바른 방법인가, 아니면 더 좋은 방법인가?

+0

btw, 모든 파일을 무시하기 위해 나는'/ *'와 같이 갈 것입니다. – c00kiemon5ter

+1

그냥 레코드를 위해서 : 하나의 디렉토리 만 가져올 수는 없습니다. 당신은 항상 파일이나 디렉토리가 아닌 ** 역사 **를 가져옵니다. 물론, 일부 파일에만 무료로 작업 할 수 있습니다. – fork0

답변

25

git pull은 원격 지점을 페치하고 병합합니다.

.gitignore은 로컬에서만 작동하며 git status에 일치하는 항목이 표시되지 않고 git add으로 색인에 추가됩니다. 당신이 원하는 것이 아닙니다.

원격 지점이 fetch이고, 필요한 지점의 dir/파일을 추출하십시오.

$ git fetch <remote> <branch> 
$ git checkout <remote>/<branch> -- relative/path/to/file/or/dir 

이제 파일/디렉토리가 지점에 있어야하며 색인에 추가되어야합니다.

+0

정확히 내가 필요로하는 것이 었습니다. 정말 고맙습니다! – Dan

+0

두 번째 줄에'remove' 또는'remote'라고 써야합니까? –

+0

@ ing0 감사합니다, 그것은 오타였습니다;) – c00kiemon5ter

관련 문제