2014-09-19 2 views
2

내가 할 경우, 다음과 다음자식 분포의 특성

  1. 내 PC에 개인의 repo 만들기 (수 A 호출) (서버에 베어의 repo를 만들기
  2. 을 이 B)
  3. 원격 개인의 repo에 베어의 repo를 추가 전화 (즉, 원격 (세 번째 컴퓨터에 B 복제 B
  4. ) A에 추가이 새로운 개인의 repo를 호출 C)

이제 우리는 서버가 너무 B가 더 이상 존재하지 파기되어 있다고 가정 해 봅시다. 이 시나리오에서 변경 사항을 A에서 푸시하면 C이 변경 사항을 계속 가져올 수 있습니까?

다른 말로하면 git push 명령을 '연결'방식으로 원격지로 변경하거나 '클러스터'에서 모든 원격 기능을 서로에 대해 알고 있습니까?

+1

아니요. "클러스터"의 각 클라이언트가 격리되어 있습니다. 'A'는 핸드 셰이크를하기 위해'B'없이'C'에 대한 변경 사항을 볼 수 없습니다. 적어도, 그것이 내가 그것을 이해하는 방법입니다. –

+1

* [...] 변경 사항을 A에서 푸시하면 C가 그 변경 사항을 계속 가져올 수 있습니까? * A는 이전 버전의 리모컨으로 추가하지 않으면 'C'에 대해 알 수 없습니다. – Jubobs

답변

1

우선 변경 사항을 A에서 B으로 푸시하지 않았습니다. 따라서 AB을 알고 있지만 BA에 대해 아무 것도 모르고 있지 않으며 데이터가 포함되어 있지 않습니다. (A에 대한 B을 알고 있기 때문에) A에서 일하는 것이 AB까지 밀어

. 데이터는 B으로 끝납니다. B에 대해 알고있는 다른 리포지토리가 얼마나 많은지 상관없이 B은 변경 사항을 추가로 밀어 내지 않습니다. 대신 다른 리포지토리는 B에서 가져와야합니다. 우리는 당신이 BA에서 적어도 한 번 밀어 C에 복제한다고 가정하면

, 당신은 A에 원격으로 C을 추가 할 수 있고 다음에 밀어 넣습니다. 그러나 C은 결코 다른 페이지 사이에 푸시 된 데이터를 "마술처럼"포함하지 않습니다. 누군가가 데이터를 푸시하거나 어딘가에서 끌어 올 때 데이터는 레포에만 복사됩니다.

모든 작업에 대해 2 repos 만 관련됩니다.

+0

잠시만 기다려주세요. 그래서'A'에 리모컨으로'C'를 추가하면'A'에서 푸시하면'C'가 먼저 가져 오지 않고'C'로 바뀝니 까? – Dan

+1

예. 힘내는 repos 사이에 전혀 차이가 없다. "B가 서버"이고 "C"가 다른 클라이언트라고 생각하는 것은 중요하지 않습니다. " 또한'C'에'A'를 추가하고'C'에서''''에 대한''git push C master'와 똑같은 결과를 얻을 수 있습니다. –

+0

개인 저장소와 베어 저장소는 저장소의 푸시/풀 동작을 변경하지 않습니다. 또한 처음으로 가져 오지 않으면 변경 사항을 푸시하지 않을 것이라고 생각했습니다. – Dan

1

No. A은 리모컨으로 B을 나열하고 은 리모컨으로 B을 나열하지만 서로에 대해 알지 못합니다. B을 삭제하고 A에 다른 리모컨을 추가하지 않으면 A에서으로 변경 사항을 푸시 할 곳이 없습니다.