2017-03-31 15 views
0

동일한 저장소를 사용하여 다른 저장소에 대한 데이터를 보유 할 수 있습니까? 나는 즉, 수하나의 자식 저장소가 많은 복제본에 사용됨

은 (BARE REPO라고 함) 자식 베어 저장소

  • 자식 클론 --single- 통합 -b REMOTE REPO에서 마스터 지점 데이터와

    클론을 생성 branch [email protected] : ConsolidateService.git

  • exec git add.
  • 터치
  • 간부 자식이
  • 간부 자식 원격 SSH를 통합 추가 "README를 추가"-m 커밋 README.md :
  • 을 //[email protected]/var/repos/app.makeatoy.git 간부 자식 푸시 BARE REPO의 내용을 마스터에게 REMOTE REPO B로부터 마스터 분기 데이터

    재 클론을

소거 통합

  • git clone -b test --single-branch [email protected] : TestService.git
  • exec git add.
  • 터치는
  • 간부 자식이
  • 간부 자식 원격 테스트를 SSH를 추가 "README를 추가"-m 커밋 README.md :
  • 을 //[email protected]/var/repos/app.makeatoy.git 간부 자식 푸시 테스트 마스터

소거 REMOTE REPO C로부터 마스터 분기 데이터 BARE REPO

재 클론 그것의 내용

  • git clone -b prod --single-branch [email protected] : ProdService.git
  • exec git add.
  • 터치는
  • 간부 자식이
  • 간부 자식 원격 생산을 SSH를 추가 "README를 추가"-m 커밋 README.md :
  • 을 //[email protected]/var/repos/app.makeatoy.git exec git 푸시 프로덕션 마스터

가능한 경우 베어 리포 지 토리의 내용을 어떻게 지우겠습니까?

TIA

+0

베어 리포 지 토리에서, post-receive 후크를 사용하려면 1) 저장소의 이름을 얻고 2) 사용 된 분기의 이름을 얻으십시오.그런 다음 아이디어는 웹 코드를 배포 할 장소를 생성하는 것이 었습니다. 예 : 저장소 app1/branch : test의 경우 코드는 app1-test 디렉토리에 배포됩니다. 저장소 app1/branch prod의 경우 코드가 app1-prod 디렉토리 등에 배포됩니다. –

답변

1

베어 REPO를 작성하고 단지 다른 프로젝트에서 리모컨을 추가합니다. 자식에게는 관련없는 분기 일뿐입니다. 각각을 가져온 후에 아무 것도 삭제할 필요가 없습니다 (맨손으로 repo에 작업 트리가 없으므로 삭제할 것이 없습니다).

+0

응답 해 주셔서 감사합니다 .-- 그래서, 데이터를 맨 저장소에 푸시 할 때 어디로 이동합니까? 일단 작업이 완료되면/dev/null에 뭔가를 밀어 넣는 것과 같은가요? –

+1

그것은 레포에 들어갑니다. 그러나 벌거 벗은 저장소 안에는 삭제할 것이 없습니다. 마치 데이터베이스와 같습니다. 추가/수정/커밋/제거 등의 "최종 사용자 파일"은 없습니다. – eftshift0

+0

물론 우리는 분명합니다. 물론 ... 베어 레포 내부에 정보가 있습니다. 하지만 그 안에 뭔가를 넣으면 그 안에 무엇이든지 삭제합니다 (git이 객체와 참조, 설정 파일 등과 같은 repo 메타 데이터를 저장하는 데 사용하는 모든 파일). 그러면 결국 .... 결국 아무 것도 아닙니다. 원하는 경우 초기화 할 수 있습니다. 그것은 빈 디렉토리 일 것입니다. – eftshift0