의존성 저장소가 GitHub에서 삭제되면 어떻게됩니까?


9
  • 나는 GitHub 저장소 A를 소유하고 있습니다.
  • 리포지토리 B는 다른 사람이 소유 한 또 다른 오픈 소스 프로젝트입니다.
  • 리포지토리 A는 리포지토리 B에 따라 다릅니다 (리포지토리 B는 A의 하위 모듈입니다).

저장소 B의 소유자가 해당 저장소를 삭제하기로 결정하면 사용자는 더 이상 저장소를 복제 / 체크 아웃 / 빌드 할 수 없습니다.

소유자가 백업을 삭제하기로 결정한 경우 백업으로 사용할 B를 미리 포크해야합니까? 이것이 위험한 상황으로 간주됩니까? 아니면 오픈 소스 프로젝트에서 일반적으로 어떻게 처리됩니까?


3
내가 누락 된 것이 있으면 수정하지만 A가 B에 의존하는 경우 누군가 A를 빌드하려고 할 때마다 A와 B를 복제해야하므로 B가 삭제 된 경우에도 A를 사용하는 사람은 모두 git은 DVCS이기 때문에 B (역사 포함)가 시스템에 놓여 있기 때문에 포크를 소급하여 만들 수 있습니다. 권리? 아니면 다른 종류의 "종속성"입니까?

정상적인 하위 저장소 종속성입니다. 그러나 기본적으로 나는 A의 관리자입니다. 안정적이고 안정적으로 진행중인 개발은 없으며 (때로는 수정 사항 만) 작은 SSD를 깨끗하게 유지하려면 코드를 GitHub에만 유지하십시오. B의 소유자가 B를 삭제하기로 결정하고 선점 포크가 없으면 A가 문제가 될 수 있기 때문에 이것이 위험한 상황이라고 생각합니다.

3
포크는 무료입니다. 밤에 잠을자는 데 도움이된다면 그렇게하십시오.

답변:


3

저장소 B의 소유자가 해당 저장소를 삭제하기로 결정하면 사용자는 더 이상 저장소를 복제 / 체크 아웃 / 빌드 할 수 없습니다.

종속 코드 "repo B"가 사라지면

  • 모든 사용자는 리포지토리를 성공적으로 복제 할 수 있습니다.
  • 기존 사용자는 아마도 repo B의 사본을 로컬에 보유하고있을뿐입니다. 사용자가 해당 시나리오를 구체적으로 설정하지 않는 한 소스를 삭제하면 복제 된 저장소가 일반적으로 삭제되지 않습니다. Git은 DVCS이므로 이런 종류의 것을 방지하도록 설계되었습니다.
  • 새로운 사용자는 어딘가에서 repo B의 사본을 얻을 수있을 때까지 repo를 빌드 할 수 없습니다 . 백업을 저장하지 않기 때문에이 보트에있을 것입니다.

소유자가 백업을 삭제하기로 결정한 경우 백업으로 사용할 B를 미리 포크해야합니까?

예.

이것이 위험한 상황으로 여겨지거나 오픈 소스 프로젝트에서 일반적으로 어떻게 처리됩니까?

예, 이것은 종속 리포지토리의 인기 / 배포 / 미러 및 리포지토리가 귀하에게 얼마나 중요한지에 따라 위험한 상황입니다. 다른 사람들에게 중요하다면, 그들은 이미 당신의 저장소와 뎁 저장소의 백업을 가지고 있습니다.

공간을 차지하지 않기 위해 GitHub에서 계정으로 포크하고 SSD로 복제 할 수는 없습니다. 또한 백업 옵션은 GitHub 서버에서 발생하는 작업이나 계정이 손상되지 않은 것에 의존합니다. 충분한 중복 정도를 결정할 수 있습니다.

의존하는 코드의 양, 인기도, 코드 재생산의 어려움 및 코드를 안정적으로 저장하는 비용을 고려하십시오. 해당 위험 평가를 고려한 후 적절히 백업하십시오.


더 큰 SSD를 위해 더 많은 비용을 지출하지 않으려는 경우 비용이 상황에 영향을 미치는 것으로 보이므로 저렴한 백업 옵션 목록은 다음과 같습니다.

  1. 분명히 완전히 무료이므로 GitHub에서 포크하십시오. GitHub는 중복 제거를 사용하므로 비용이 극히 적습니다.
  2. 로컬 (무료), 오래된 회전 하드 드라이브 또는 USB 플래시 드라이브 또한 ISP 또는 셀 제공 업체를 통해 무료 클라우드 백업 비용을 이미 지불하고있을 수 있습니다.
  3. 원격 (무료), 많은 무료 클라우드 백업 옵션 또는 친구에게 문의하십시오.
  4. 원격으로 ($), GB 당 Usenet 요금제를 구매하여 Usenet에 업로드 ($ 25 USD에서 $ 10 USD)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.