파일 - 이클립스 git target 제외




자식:각 원격에 대해 다른.gitignore 파일이 있습니다. (3)

특정 파일 (컴파일 된 파일을 클라우드 컴퓨팅 플랫폼에 배포하려는 원격 리포)이 있지만 github에 배포하지 않으려는 경우 ...

각기 다른 .gitignore 파일, 각 리모트 파일마다 다른 방법이 있습니까?


나는 이것을하는 방법을 찾아 낸다.

제 경우에는 프로젝트를 heroku와 github (공개 repo)와 동기화해야했습니다.

하지만 개인 정보가 포함 된 일부 파일은 공개 저장소에서 공유하기에는 재미 있지 않았습니다.

보통 간단한 프로젝트는 다음 폴더 구조를 갖습니다.

Project folder (remote heroku)
    - .git
    - .gitignore
    - (folders and files)

내가 한 일은 더 많은 레벨을 추가하는 것이었고 프로젝트의 일부 파일을 생략하는 gitignore를 사용하여 다른 git 저장소를 만들었습니다.

Project public (remote github)
    - .git
    - .gitignore
    - Project folder (remote heroku)
        - .git
        - .gitignore
        - (folders and files)

그래서 이것은 다른 gitignores와 함께 두 개의 원격 저장소가있는 자식 저장소가 아닙니다.

두 개의 다른 리포지토리가 있습니다.

가장 안쪽에서는 IDE에서 생성 된 파일과 런타임에 생성 된 일부 파일 만 제외합니다.

가장 바깥 쪽 수준에서는 공개 할 수없는 모든 파일을 제외합니다.


또 다른 옵션은 git submodules 입니다.

예를 들어 코드와 문서가 독립적 인 액세스 제어 등으로 서로 다른 두 repos에 있어야하는 경우 유용 할 수 있습니다. 따라서 총 Repos가 3 개이고, docs에 대한 하위 모듈 repo가 ​​있고, 코드에 대해 또 다른 하위 코드 repo가 ​​있고, 마스터 "(자식 하위 모듈 아님) repo 둘 다 포함 (pypi 업로드, 아마도). 이것은 CS 교과서 프로젝트를 체계적으로 구성하는 좋은 방법입니다. 두 프로젝트 모두 독창적으로 앞서 나갈 수 있으며 마스터 레포 관리자가 주도하는 주요 릴리스에서 동기화 할 수 있습니다.


이것은 실제로 자식의 모델에서 이해가되지 않습니다. 커밋에는 파일 집합이 포함됩니다. 모든 .gitignore 파일은 특정 패턴과 일치하는 파일을 자동으로 추가하지 않도록 UI에 지시합니다. 이것이 의미하는 바는 파일의 서브 세트 만 포함하고 거의 동일한 커미트 세트를 갖는 것입니다.

브랜치 스킴 (branching schemes)으로 이것을 할 수 있는데, 여기에는 마스터에서 분리되어 있고 동일한 컴파일 브랜치가 포함 된 "배치"브랜치가있다. git hook을 사용하여 자동으로 파일을 컴파일하고 repo에 추가 할 수도 있습니다. 나는 이런 구조를 상상하고있다 :

master:       A ---> B ---> C ---> D
               \      \      \      \
                \      \      \      \
deployment:      -> A'  -> B'  -> C'  -> D'

즉, 특정 서버가 마스터에서 새로운 커밋을 가져올 때마다 프로젝트를 빌드하고 빌드 된 파일을 D에서 새로운 커밋에 추가 한 다음 배포 분기로 커밋합니다. 그러면 배포 분기로 전달되어 커밋되지 않습니다.





gitignore