2013-04-16 3 views
3

GitHub 프로젝트에 A이라고 부르고 내 사용자는 user1입니다. 나중에 다른 사용자 user2이 내 프로젝트 A을 새 프로젝트 B으로 분기했습니다. 이제 그는 내 원래 프로젝트 (및 프로젝트 이름)를 충분히 변경했으며 자신의 프로젝트 B을 내 계정의 다른 프로젝트로 포크하고자합니다. 내가 포크 버튼을 눌렀을 때 C 프로젝트가 내 계정에서 만들어졌지만 브라우저 대신 원래 프로젝트 A으로 리디렉션 될 것으로 예상했습니다.원래 프로젝트와 분기 된 프로젝트를 포크

B 프로젝트의 변경 내용을 다시 A 프로젝트로 가져올 수 있지만 B의 변경 사항은 중요하며 다른 프로젝트를 만들고 싶습니다. 프로젝트 A에 새 분기를 만들 수 있지만이 방법이 마음에 들지 않습니다.

내 계정에 프로젝트 C (실제로는 세 번째 새 이름이 있음)을 실제로 생성 할 수 있습니까? 어떻게이 목표를 달성 할 수 있습니까?

+1

GitHub에서는 실제로 user2의 포크에서 원래 프로젝트로 돌아갈 기회가 있기 때문에 실제로는 불가능하다고 생각합니다. API (GitHub는 종종 인터페이스에서 비정상적인 기능을 숨 깁니다)에서이를 수행 할 수 있습니다. 또 다른 방법은 계정에 새로운 프로젝트'C'를 만들고 포크 리포지토리를 프로젝트에 넣는 것입니다. 그런 식으로 GitHub 웹 사이트에서 원래 프로젝트에 대한 링크를 얻을 수 없습니다. – poke

+0

프로젝트 'B'의 변경 사항을 프로젝트 A의 새 분기로 가져 오지 않는 이유는 무엇입니까? IMO는 이것이 git 철학과 함께가는 길이다! – greydet

+0

@greydet 프로젝트'B'는 다른 프로젝트를 고려할만큼 충분히 "돌연변이"되어 있으며'B' 프로젝트를 변경하여 새 프로젝트 'C'를 만들 수 있습니다. 나는이 대답을 회피하고 대안을 얻기 위해이 고려 사항을 썼다. – logoff

답변

4

같은 이유로 동일한 프로젝트에서 동일한 프로젝트를 두 번 github fork 수행 할 수없는 것과 같은 이유로 이와 같은 현상이 발생합니다. github이 실제로 포크를 정의하는 방법과 포크를 처리하는 방법과 관련이 있습니다. ala Github을 포크로 만들면 포크로 인한 개인 레포는 실제로 부모 프로젝트와 동일한 식별자를 공유합니다. B를 C에서 A를 소유 한 동일한 계정으로 포크하려고하면 불가능합니다.

git 명령을 사용해야합니다. 여러 개의 리모컨과 상호 작용하는 것이 일반적입니다. 로컬 Repo에서 A와 B를 모두 리모컨 (git remote add <alias_B> <url_B>)으로 추가 한 다음 변경 사항을 하나의 저장소에서 다른 저장소로 가져 오거나 병합/푸시합니다.

+0

예, 이것이 실제 답변입니다. 동일한 계정에서 분기 된 프로젝트를 포크하는 것은 불가능합니다. 가장 좋은 방법은 새로운 저장소'C'를 만들고 프로젝트'B'에 원격을 추가하는 것입니다 (프로젝트 A를 추가하는 것 외에도). @poke와 @greydet도 감사합니다! – logoff