2012-12-11 2 views
1

data 폴더가 비공개 (VCS에서 추적)해야하는 프로젝트가 있습니다. 따라서 GitHub의 git 레고 전체가 비공개입니다. 그러나이 코드는 많은 사람들에게 유용하기 때문에 공개해야합니다.2 개의 GitHub 리모트에 2 개의 브랜치를 푸시하는 방법은?

현재 내 레포에는 masterdev 만 있습니다. dev의 기능이 작동하면 master으로 병합됩니다. no_data 분기를 만들고 공개 GitHub 저장소로 푸시하고 싶습니다. master은 계속 개인 repo를 추적해야합니다. 나는 이것을 위해 개인 GitHub 레포를 가지고있다. (이것을 private_project라고 부르 자.) no_data 분기에 대해 project이라는 공개 Repo를 만들 수 있습니다.

질문 :
가) 내가 지금 각 지점은 별도의 repo를 추적이을 설정하는 방법은 무엇입니까? 두 지점 사이의 서로 다른 유일한 이후

b)는 공공 하나가 난 그냥 .gitignore 파일에 그것을 추가 할 계획은 data/ 폴더를 무시하는 것입니다. 그러나 나머지 코드는 두 가지 모두에서 동일하게 유지하고 싶습니다. 따라서 masterno_data에 병합 할 때마다 수동으로 .gitignore 병합을 해결해야합니다.

답변

1

하지 마십시오. 이것은 하루 또는 다른 날에 오류를 초래할 수밖에 없습니다.

자신의 원격 상류의 repo과 함께 data 디렉토리 submodule 확인합니다 (' private_project'하나), (업스트림 REPO ' public_project'을 가지고) 부모의 repo로 선언했다.

그런 식으로 상위 repo의 모든 분기를 'public_project'로 푸시 할 수 있습니다. 중요하지 않습니다.
'public_project'복제시 전체 repo와 다른 repo ('private_project')에 대한 참조 (private repo이기 때문에)에 액세스 할 수없는 다른 제공자는 모두 받게됩니다.
"How exactly does git submodule work?"을 참조하십시오.

관련 문제