2011-08-08 1 views
2

무시 된 파일은 커밋을 위해 준비되지 않은 변경 사항에 표시됩니다.

media/ 
build/ 

in.git/info/exclude를 추가 한 다음 두 디렉토리를 모두 삭제했습니다. 나는 그 repo가 ​​축하받은 repo 나 다른 repo가 ​​아니라 그것을 무시하기를 원하기 때문에 .gitignore보다는 exlude 파일에서 이러한 규칙이 필요합니다. 그러나

git status 

을 실행하면 두 dir의 모든 내용이 삭제됩니다. 어떻게 이것을 막을 수 있습니까?

EDIT

다음은 내가 가지고있는 것입니다. github의 개인 레포, 로컬 설치, 자체 로컬 설치가있는 일부 동료 및 서버가 있습니다. 사이트는 Django 사이트이므로, 성능을 위해 정적 미디어 파일은 실제 Django 설치와 별도로 유지됩니다.

그러나 로컬에서는 장고 루트 안에 미디어 파일이 있습니다. 따라서 미디어 디렉토리는 github의 축복받은 저장소에 있습니다. 그러나 서버는 디렉토리를 무시해야합니다. 이것은 디렉토리를 제외 파일에 추가하여 수행하려고 시도한 것입니다. 그러나 거기에 있지만, 무시당하는 것 같지 않습니다.

adymitruk이 빌드 폴더에 관한 것이 었습니다. 제 일반적인 .ignore 파일에 추가했습니다.

답변

4

당신은 당신이 두 디렉토리를 삭제했다 - 그래서 당신 git rm에게 그들을했고, 그들이 (버전없는)이 아니라 그냥 작업 디렉토리에서 제거의 repo에서 제거되도록 커밋. 버전이있는 한 git status은 무시와 상관없이 이러한 디렉토리 (이 경우 삭제됨)를 계속 표시합니다.

+0

두 가지 모두 시도해 보았습니다. 두 경우 모두 자식 상태는 삭제 후 파일을 보여줍니다. 그러나, 당신이 말한 것에서, 비록 파일이 무시 되어도 "버전 화"될 수 있다는 것을 이해합니다. 내가 원하는 것, 파일이 더 이상 무시되거나 버전이 부여되지 않는다는 것을 성취 할 수있는 방법이 있을까? –

+0

@ Jasper Kennis - 둘 다 시도한 것은 무엇입니까? 'git rm media /'와'git commit'을 삭제 했습니까? – manojlds

+0

더 정확하게하려면 git rm -r media/및 rm -rf media /를 실행했습니다. 어쩌면 문제는 재귀 동작에 있으며 폴더 자체 만 내용이 아닌 무시되고 있습니까? –

1

마스터는 복제품이 아닙니다. 레포에있는 지점입니다. 축복받은 저장소를 말하는 것 같습니다.

  1. 가 명시 적으로 폴더를 삭제 지점을 확인하십시오

    이 작업을 수행하는 방법에는 여러 가지가 있습니다. 이후 다른 분기에서이 폴더로 병합하면 해당 폴더의 변경으로 인해 충돌이 발생합니다. "ours"옵션과 함께 재귀 적 전략을 사용하십시오. 귀하의 지회는 귀하가 의도 한 것처럼 보일 것입니다.

  2. 복잡한 얼룩/깨끗한 스크립트를 만드십시오. 나는이 길을 가지 않을 것이다.

  3. 해당 파일을 변경하지 마십시오.

큰 문제는 워크 플로입니다. 내가 보는 두 가지 문제점 :

  1. 코드를 저장하는 저장소의 일부로 미디어가 있습니다. 대개 큰 파일이 포함되며 복제, 체크 아웃 할 때 큰 부담이됩니다. 해당 디렉토리에 대한 서브 모듈 사용을 고려하고 미디어에 액세스해야 할 때 하위 파일 만 채우십시오.

  2. "빌드"는 아티팩트와 유사하게 들릴까요? 빌드 아티팩트 인 경우 소스 저장소에 속하지 않습니다. 보유하고있는 배포 체계/도구를 사용하여 개별적으로 관리하십시오. 언제든지 원천에서 재생성 할 수 있습니다. 내장 된 태그 /시기/이유를 표시하기 위해 태그 지정을 사용합니다.

워크 플로에 대한 많은 가정을하고 있습니다. 그러나 잘하면이 방법으로 당신을 도울 것입니다.

건배

+0

실제로 많은 가정을하고 있지만 이는 내 정보가 충분하지 않기 때문일 수 있습니다. 질문에 추가 정보를 추가하겠습니다. 당신은 내 워크 플로에 대해 옳았습니다. 이것은 프로젝트가 어떻게 성장했는지에 대한 결과입니다. 나는이 장고 사이트의 개발을 맡았고 svn에서 git로 갔다. 왜냐하면 나는 git을 더 좋아하기 때문이다. 사이트를 로컬에서 빠르게 실행하려면 사이트 루트에 미디어 폴더를 추가 했으므로 옆에 놓아야합니다.하지만이 방법을 좋아합니다. 결국 비즈니스 가치와 효율성, 그리고 식욕에 문제가 있습니다. 결국 이것은 시간 낭비입니다. p –